ERHAIMOON_学习日志(day12)

构造方法

​ 构造函数(construction)也叫构造方法,或者构造器

构造函数是什么

​ 如果类内的方法名称与类名相同,并且没有返回值类型,也不写void,这方法就叫做构造方法,或者构造函数

public class Person {
    String name;
    int age;
    String gender;
    //类的构造方法
    public Person() {
     
    }
}

构造函数的调用规则

规定

  • 实例化对象时,必须调用类的构造函数。只要new对象,一定调用构造函数
  • 如果类中没有显式的定义构造函数,那么JVM会为类自动定义无参数的构造函数,如果类中显式定义了任意一个构造函数,那么JVM就不会为类定义默认构造函数
  • 构造函数是在实例化对象时调用的,或者在本类的其他构造函数中通过this关键字调用
public Score(int id){
    this.id=id;
}
public Score(){
    this(5);//this调用前一个构造函数
}
  • 构造函数不允许使用对象直接调用
  • 构造函数调用时根据参数匹配原则调用相应的构造函数

定义构造函数

构造函数的作用是在创建对象时,为对象的属性初始化

public class Person {
    String name;
    int age;
    String gender;
    //给属性初始化
    public Person() {
        this.name="erhaimoon";
        this.age=30;
        this.gender="男";
    }


    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);
    }
}

this关键字

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

this指代当前对象的引用(谁调用this就指谁)

构造函数重载(同方法的重载)

构造函数间的调用

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

封装

面向对象的三大特征:封装、继承、多态

封装的含义

​ 封装就是保护数据的,这里的数据是指类的成员变量,对于保护数据而言就是随数据的读取和写入,数据的保护方式有四种

  • 不允许读,不允许写
  • 允许读,不允许写
  • 允许写,不允许读
  • 允许读,允许写

封装也是保护方法的,方法是否润许被调用

  1. 类内的其他方法可以调用吗
  2. 同包中的其他类可以调用吗
  3. 子类可以调用吗
  4. 任务类可以调用吗

封装如何实现

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

访问修饰符共有4个

  • public
  • 默认
  • protected
  • private

访问修饰符

private访问修饰符如何实现封装

  • private可以修饰属性
  • private可以修饰方法
  • private不能修饰类

private的使用规则:private修饰的属性或方法只允许在类内被访问。private是最严格的封装

public访问修饰符如何实现封装

public表示公有的,由public访问修饰符修饰的属性或者方法或类可以在任何地方被调用,public是最开放的封装

  • public可以修饰属性
  • public可以修饰方法
  • public可以修饰类

默认访问修饰符如何实现封装

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

默认修饰符可以修饰

  • 属性
  • 方法

方法可以被同包的其他类访问

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

标签

评论

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