发表日期: 2022-03-23 11:15:22 浏览次数:91
黄山网站设计

java访问权控制限修饰符:
private<default<protected<public,权限重小到大不断递增。
private 修饰在方法,属性,成员类上,可见性为本类;(被修饰后不能被继承)
default 修饰在类,方法,属性,成员类上,可见性为本包;
protected 修饰在方法,属性,成员类,可见性为本包,本子孙类;
public 修饰在类 ,方法,属性,成员类,可见性本包,外包,子孙类。
方法权限继承重写:重写的权限不能小于等于父类方法的权限。
非访问权限修控制修饰符:
final:
修饰在类上:类不能被继承;
修饰在方法上:方法继承下来不能被重写;
修饰在属性上:属性只能被赋值一次,没有给默认值,必须在构造方法中赋值。
static:
修饰在成员变量和方法上,被其修饰的方法和变量从属于类优先加载在方法区,使其能被在堆内存中未加载的对象进行共享访问,static 不能修饰在局部语句块中的变量,因为无法共享该数据,被static修饰的方法不能在该方法里访问该类的对象属性和方法,因为当初始化static修饰的方法和成员变量语句块时,对象还未加载在堆内存,就还没有this对象的引用,就无法访问对象的方法和属性。如需访问必须先把对象new出来。
abstract:
abstract修饰类与方法上,修饰在类上就是是抽象类,抽象类中的方法可以被abstract修饰不写花括号以分号结尾,就是抽象方法;
synchronize:
synchronize关键字修饰在方法上,在多线程中使用,该方法同一时间只能被一个线程访问,锁就是this
transient:
修饰在包含定义变量的语句中将不会被序列化存储在硬盘
volatile
修饰在成员变量上,在多线程中访问该变量,都会重新从线程中获取,使真实数据可见。