1 .类(类)类)。
可见修饰符: public—在所有类中可见,在其他包中可以通过import导入。
默认值-没有修饰符,显示在同一包中的类中,其他包无法通过import导入。
修饰符: final—指示类未继承的结束类
abstract—无法在抽象类中创建新对象
2 .变量(可变)
有两种类型的Java变量:方法变量和字段变量
方法变量只能使用一个修饰符。 final—表示常数,不能更改
字段变量的修饰符如下
显示修饰符: public—在任何类中都显示
protected—显示在子类或同一包中
private—仅显示在此类中,不显示在子类中
默认值-在同一包中显示,子类不在包中,也不在子类中显示
修饰符:静态-静态变量。 由类的所有实例共享
final—常数。 定义后不能更改
*transient—告诉编译器在序列化类对象时不需要永久保存此变量
*volatile—指示多个线程可能更改此变量,并请求编译器优化以正确处理此变量的更改
这两个带*的不太常用,但也是Java的修饰符,我也不太清楚
3 .方法(方法)。
显示修饰符: public—在任何类中都显示
protected—显示在子类或同一包中
private—仅显示在此类中,不显示在子类中
默认值-在同一包中显示,子类不在包中,也不在子类中显示
修饰符:静态-静态方法。 无需创建类的实例即可访问静态方法
final—所有子类都不能以常规方式覆盖此方法,但可以重载
abstract—抽象方法。 未在抽象类中实现的方法
朴素—本地方法。 请参阅Javanativeinterface(jni )
同步-在多线程中,当调用同步方法时,所有其他方法都不能调用该方法
4 .接口(接口)。
可见修饰符: public—在所有类中可见
默认值-显示在同一个包中
接口中的变量必须始终定义为公共静态final接口名称,但也可以不包含这些修饰符。 编译器的默认值是这样的
因为界面不是直接有实例,所以这样既不能修改(final ),也不能从实例访问(static )。
接口中的方法只能包含公共和abstract修饰符