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(),但是必须写在构造函数内的第一行代码,否则不能编译。
封装
面向对象的三大特征:封装、继承、多态
封装的含义
封装就是保护数据的,这里的数据是指类的成员变量,对于保护数据而言就是随数据的读取和写入,数据的保护方式有四种
- 不允许读,不允许写
- 允许读,不允许写
- 允许写,不允许读
- 允许读,允许写
封装也是保护方法的,方法是否润许被调用
- 类内的其他方法可以调用吗
- 同包中的其他类可以调用吗
- 子类可以调用吗
- 任务类可以调用吗
封装如何实现
封装是通过访问修饰符来实现的
访问修饰符共有4个
- public
- 默认
- protected
- private
访问修饰符
private访问修饰符如何实现封装
- private可以修饰属性
- private可以修饰方法
- private不能修饰类
private的使用规则:private修饰的属性或方法只允许在类内被访问。private是最严格的封装
public访问修饰符如何实现封装
public表示公有的,由public访问修饰符修饰的属性或者方法或类可以在任何地方被调用,public是最开放的封装
- public可以修饰属性
- public可以修饰方法
- public可以修饰类
默认访问修饰符如何实现封装
默认是指在类、属性、方法定义时不写任何访问修饰符,此时就是默认
默认修饰符可以修饰
- 类
- 属性
- 方法
方法可以被同包的其他类访问
封装最常用的方法:公有方法封装私有属性
点赞
评论留言