LAPTOP-D55DCTAO_12.07孔鹏曌

12.07

学习内容

构造函数

​ 构造函数也叫构造方法、构造器;

​ 类内方法的名称与类名相同、且没有返回值类型、也不写void的方法叫做构造函数(构造方法);

构造函数的调用规则

  • 实例化对象时,必须调用类的构造函数(new对象就要调用构造函数);
  • 开发人员没有定义构造函数时,jvm会自动为类定义无参数的构造函数,如果开发人员定义任意构造参数,则jvm不为类定义默认构造函数;
  • 构造函数是实例化对象时自动调用的,或是在本类的其它构造函数中通过this来调用。
  • 构造函数不允许对象直接调用
  • 构造函数调用时根据参数匹配原则调用相应的构造参数

构造参数的定义原因

​ 构造方法的作用是为成员变量初始化(在创建对象时,为对象的属性初始化)

构造函数的语法格式

​ [访问修饰符] 方法名([参数列表]){

​ //省略方法体的代码

​ }

this关键字

​ this是java的关键字,表示当前正在运行的对象;

​ this指代当前对象的引用;

构造函数的重载

构造函数的重载与方法的重载完全相同

方法重载:

​ 在同一个类中,方法名称相同,方法参数不同(个数不同或者类型不同或者顺序不同),与返回值无关的多个方法成为方法重载;

​ 方法调用中,jvm会自动根据主调方法的参数来决定调用哪个重载形式的方法

构造函数之间的调用

​ 构造函数中,调用本类的构造函数使用this();调用父类的构造函数使用super();但是调用必须写在构造函数内的第一行代码,否则的话不能编译;

​ 例:

public Person(int chinese){
    this.chinese = chinese;
}
public Person(){
    this(90);
}
public Person(int math,int english){
    super();
}

面向对象的三大特征

继承、多态、封装

封装的含义

封装就是用来保护数据、保护方法的;

保护数据

​ 数据指类的成员变量,也就是对数据的读取和写入

  • 不允许读、写
  • 允许读、不允许写
  • 不允许读、允许写
  • 允许读、写

保护方法

方法是否允许被调用

​ 方法是否被调用分为:

  • 类内的其他方法
  • 同包中的其他类
  • 子类
  • 任务类

封装的实现

​ 封装通过访问修饰符来实现

访问修饰符

​ 访问修饰符:public、protected、private、默认修饰符

private

​ private可以修饰属性、方法,但不能修饰类;

​ private的使用规则:private修饰的属性和方法只允许在类内被访问,不允许在类外访问,private是最严格的封装;

public

​ public可以修饰属性、方法、类;

​ public表示共有,由public访问修饰符修饰的属性、方法、类可以在任何地方被调用,换言之,public是最开放的封装;

默认修饰符

​ 默认修饰符就是指在类、属性、方法定义时不写任何访问修饰符,此时就是默认修饰符;

​ 默认修饰符可以修饰属性、方法、类;

​ 默认修饰符修饰的属性、方法、类可以被同包的其他类访问

封装的常用方法

​ 最常用的方法:公有方法封装私有属性

​ 例:

public class Score {
    private int math; //private封装属性
    
    public int getMath() {//public封装方法
        return this.math; //public方法中返回private属性
    }
    public void setMath(int math) {
        this.math = math;
    }
    public Score(int math) {
        this.math =math;
    }
}

​ 注:

​ 如果只提供get方法,不提供set方法,表示只读不写;

​ 如果只提供set方法,不同供get方法,表示只写不读;

​ 如果提供了get方法和set方法,表示可读写;

​ 如果get方法和set方法都不提供,表示不可读写;

提示:

IDE为开发人员提供了生成属性的get和set方法!

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1