大数据基础之java面向对象

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 大数据基础之java面向对象

面向对象

  1. 面向对象概述
  2. 类的定义
  3. 类的使用

    1.如果创建一个类,不写构造方法,系统会默认赋予一个空参构造
    2.如果我们书写了构造方法,无论是空参还是全参,系统就不会自动赋予了
    3.如果想要在创建对象时动态赋予成员变量值,则使用全参构造
    4.创建一个对象时,只会执行一种构造方法
    
    空参构造:
        修饰符 类名(){
        }
    全参构造
        修饰符 类名(参数类型 参数名称1,参数类型 参数名称2 ,,,,,,){
        } 
    成员变量一般是私有的
    为了调用或者赋值成员变量我们一般会使用get set方法
    get或set 方法内部想要获取成员属性,一般会采用this获取,否则出现同名局部变量后优先使用局部变量
    在java中遵循就近原则
  4. 封装

    封装: 尽量少的将方法或者属性暴露给调用者
    好处: 安全, 降低调用难度,和沟通成本
    缺点: 灵活性差
    
    方式:private  可以将属性和方法私有  不能修饰类
    
    特点:private 修饰过后,可以在类的内部直接使用,但是在类的外部不能调用,类似于python中的__
  5. 继承

    1.在子类的构造方法中,都会自动调用父类的空参构造
    2.如果父类没有空参构造,我们可以使用spuer(参数的方式)调用父类的全参构造
    一般情况下,我们会手动给出父类的空参构造
    • 局部变量 类中的成员变量, 父类中的成员变量的调用
    int age = 10;
    Person p1 = new Person();
    System.out.println("局部变量:" + age);
    System.out.println("ItcastMan成员变量:" + this.age);
    System.out.println("Chinese成员变量:" + super.age);
    System.out.println("Person成员变量:" + p1.age);

    方法重写

    子类中继承父类方法的特点:
        1.在子类中可以继承父类中的非私有属性和方法
        2.子类对象中可以书写新的方法
        3.子类中和父类中相同的方法可以进行覆盖,这个叫做重写
            注意: 重写方法时要使用override
                 父类中的私有方法不能重写,但是可以书写与其同名的子类方法
                 重写父类方法时,不能比父类的权限更低
    
        4.子类中可以重载父类中的方法
  6. 多态

    多态: 在不同的环境下,展现出不同的状态就是多态.
    java中的多态: 在继承关系中,使用父类创建子类对象时,不同的子类对象所执行的效果不相同
    
    多态的前提:1.要有继承关系 2.方法重写3.父类引用指向子类对象
    
    多态情况下调用成员的规则:
    调用成员变量: 当前父类引用指向子类对象,调用成员变量时,调用的是父类的成员变量
    调用成员方法: 当前父类引用指向子类对象,调用成员方法时,调用的是子类的成员方法
    
    在应用java的多态时,一般都会使用子类对象调用子类中的方法,而不会使用其调用变量,因为调用变量提现不出来多态多此一举
    如果使用get 或者set 方法进行数据处理,调用的是子类的

    多态的弊端

    多态中有几个弊端:
    1. 无法通过子类的对象调用子类中特有的功能
    解决方法:向下转型
    
    转型方法:
    向上转型:从子类向父类转型(自动)
    父类名称 对象名 = (子类对象);
    父类名称 对象名 = new 子类名();
    
    向下转型:从父类向子类进行转型(强制)
    子类对象 对象名  = (子类名)(父类对象);
    子类对象 对象名  = (子类名)(new 父类名());
    
    向下转型时一定要具备继承关系,否则报错
  7. final和static

    final

    final 关键字:
    代表当前被修饰的内容已经是最终状态,不能被修改只能被使用
    可以修饰类:此类不能被继承,但是可以继承其他的类, 一般作为工具类使用
    可以修饰成员变量:此时成员变量变为常量,只能在定义时赋值一次,后续不可赋值或修改
    可以修饰方法:此方法可以被继承,但是不能被重写.

    static

    static 静态
    1.使用static修饰成员变量: 所有的对象所共有,修饰完成后,调用时使用类名调用
    可以类比为python中的类属性
    2.使用static修饰成员方法: static中只能调用带static的属性或者方法, 不能使用this super
    可以类比为python中的类方法
  8. 抽象类

    抽象:不具体 或者说没有真实的实现
    抽象方法: 不具备方法体的方法,只是声明的一下方法
    抽象类:具有抽象方法的类叫做抽象类
    
    需求:
    1. 创建抽象类Animal.
    2. 在该类中定义抽象方法eat()
  9. 接口

    接口:就是比抽象类还要抽象的一个类,使用interface进行修饰
    一般接口都是给类添加特殊的功能拓展的
    
    1.使用interface修饰
    2.使用implements继承
    3.在接口中只能书写抽象方法和常量
        抽象方法自动添加 public abstract
        常量中自动添加 public static final
    4.可以使用接口类创建子类对象,调用其功能,实现接口多态
    
    类和接口间的继承:
    1.类和类之间只能单继承,或多级继承
    2.类和接口之间可以单实现,也可以多实现
    3.接口和接口之间,可以多继承,也可以单继承
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
11天前
|
Java 数据安全/隐私保护
09 Java面向对象三大特征(概述)
09 Java面向对象三大特征(概述)
31 4
|
11天前
|
存储 Java 程序员
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
08 Java面向对象基础(对象与类+实例变量与方法+构造方法+this关键字)
33 4
|
6天前
|
存储 SQL 搜索推荐
一天十道Java面试题----第一天(面向对象-------》ArrayList和LinkedList)
这篇文章是关于Java面试的笔记,涵盖了面向对象、JDK/JRE/JVM的区别、`==`和`equals`、`final`关键字、`String`、`StringBuffer`和`StringBuilder`的区别、重载与重写、接口与抽象类、`List`与`Set`、`hashcode`与`equals`以及`ArrayList`和`LinkedList`的对比等十个主题。
|
1月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
19天前
|
存储 Java 开发者
Java编程实践:探索面向对象设计原则
【7月更文挑战第31天】在Java的世界中,面向对象设计(OOP)原则是构建健壮、可维护和可扩展软件的基石。本文将深入探讨这些核心原则,并通过实际代码示例揭示其应用之美。
17 0
|
1月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
1月前
|
分布式计算 Hadoop 大数据
优化大数据处理:Java与Hadoop生态系统集成
优化大数据处理:Java与Hadoop生态系统集成
|
1月前
|
缓存 算法 Java
Java中如何处理大数据量的排序?
Java中如何处理大数据量的排序?
|
1月前
|
Java 关系型数据库 开发者
Java中的面向对象设计原则与实践
Java中的面向对象设计原则与实践
|
1月前
|
Java
Java面向对象知识总结+思维导图
Java面向对象知识总结+思维导图