大数据基础之java面向对象

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*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的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
3月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
149 1
|
3月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
126 0
|
4月前
|
安全 Java 编译器
Java面向对象
本文深入讲解了Java面向对象编程(OOP)的四大特性:封装、继承、多态与抽象,以及方法的设计与使用。通过示例展示了如何用类和对象组织代码,提升程序的可维护性与扩展性。
|
4月前
|
存储 供应链 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链风险预警与决策支持中的应用(204)
本篇文章探讨了基于 Java 的大数据可视化技术在企业供应链风险预警与决策支持中的深度应用。文章系统介绍了从数据采集、存储、处理到可视化呈现的完整技术方案,结合供应链风险预警与决策支持的实际案例,展示了 Java 大数据技术如何助力企业实现高效、智能的供应链管理。
|
4月前
|
存储 SQL Java
Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索(203)
本文探讨了Java大数据技术在智能医疗手术风险评估与术前方案制定中的创新应用。通过多源数据整合、智能分析模型构建及知识图谱技术,提升手术风险预测准确性与术前方案制定效率,助力医疗决策智能化,推动精准医疗发展。
|
5月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
5月前
|
数据采集 机器学习/深度学习 Java
Java 大视界 -- Java 大数据在智能体育赛事运动员体能监测与训练计划调整中的应用(200)
本篇文章聚焦 Java 大数据在智能体育赛事中对运动员体能监测与训练计划的智能化应用。通过构建实时数据采集与分析系统,结合机器学习模型,实现对运动员体能状态的精准评估与训练方案的动态优化,推动体育训练迈向科学化、个性化新高度。
|
5月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
884 37
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
484 4