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方法!
近期评论