1、访问修饰符
java
// 1、public 可被其他类访问
// 2、protected 子类与同包下的所有类都可访问,不常用
// 3、default 默认修饰符,同包可访问,不符合规范 严禁使用
// 4、private 私有修饰符,只能被当前类访问
// 实际开发中,public常用于方法,private常用于属性变量。通过公开的方法去获取以及设置某值。
public class Test{
private int num = 123;
public int getNum(){
return this.num;
}
public void setNum(int num){
this.num = num;
}
}
2、非访问修饰符
java
// 1、static 静态属于类,语法支持对象访问,实际规范强制使用【类名.静态成员】访问。
public class Test1{
public static int num = 3;
}
public class Test2{
// 这种情况不符合规范 会有黄色警告
// Test1 Test1Copy = new Test1();
// Test1Copy.num;
// 符合规范,直接通过类访问
Test1.num;
}
// 2、final 类似于js中的const 代表此属性变量不可被修改,同样的final声明的对象 内部属性可以被修改,但是不可修改访问引用址
// 3、abstract 抽象修饰符,定义抽象类、方法
// -----------------分割,以下为不常用的非访问修饰符-------------------------
// 4、synchronized 只能同时被一个线程所访问
// 5、transient 标记为不应该被序列化的字段
// 6、volatile 告诉编译器和运行时系统 当前这个字段可能被多个线程同时访问 要进行特殊处理以保障线程安全。
总结:
修饰符分为访问修饰符和非访问修饰符,访问修饰符可配合非访问修饰符同时使用,访问修饰符控制被访问范围。非访问修饰符用于特殊情况。