this
创建对象的过程
- 在第一次遇到一个类的时候,进行类的加载,只加载一次
- 创建对象,在堆中开辟空间
- 对对象进行初始化操作,为属性赋值为默认值
- new 关键字调用构造方法,执行构造方法,对属性重新进行赋值
this指代
- 当前正在创建的对象
- 当前正在调用的对象
this修饰
- 修饰属性:this.属性名
- 修饰方法:this.方法名()
- 修饰构造方法:在各个构造方法之间可以使用this()进行调用其他的构造方法,直接使用this()即可,但是需要注意必须放在代码块的第一行
static
static可以修饰什么
- 属性
- 方法
- 代码块
- 内部类
static修饰属性
- static int id;
- 可以通过类名.id访问或者对象名.id
- 应用场景:该类的对象的某个属性值都相同的时候
- 静态属性也叫做类变量,非静态属性也叫做实例变量
static修饰方法
- public static void xxx(){}
- 静态方法只能访问静态属性
- 静态方法只能调用静态方法
- 静态方法中不能使用this关键字
- 通过对象名.xxx()或者类名.xxx()调用
super
- super指的是父类的
- 可以修饰方法和属性
- 在子类中通过super.属性名、super.方法名调用父类中的属性、方法
- 当父类和子类中有相同名字的属性或方法时,可以通过super调用父类中的属性或方法
- super();调用父类的空构造器
- 通过this()或者super()调用构造器都必须放在第一行,所以只能选择一个使用
final
- 修饰变量:之后变量的值不可以在进行更改,变量变为字符常量,名字需要全部大写
- 修饰引用数据类型:则地址值不可以进行更改,对象的属性还可以更改
- 修饰方法:final修饰方法之后,该类的子类不可以对该方法进行重写
- 修饰类:final修饰类之后,该类不可以再被继承
权限修饰符
权限表
同一个类 | 同一个包 | 子类 | 所有类 | |
---|---|---|---|---|
private | √ | |||
default(不写) | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
总结
属性、方法:修饰符:四种,private ,缺省(default),protected,public
类:修饰符:两种,public ,缺省
属性一般用private修饰,方法一般用public修饰