Java访问控制符和修饰符

Java访问控制符和修饰符

·
·

Java访问控制符的含义和使用情况

·

类内部 同包 子类 外包
public
protected
default(friendly) √(仅限于同包子类)
private

·

·

public 公共的,对所有包可见
default 同包可以访问 —除了以上两个,在类的修饰符中还可以加入以下二个(不考虑内部类)
abstract 抽象类,需要继承,不能直接实例
final 最终类,不能被继承

·

变量

·

public 可以被任何类访问
protected 可以被所有子类或同包下的类访问
缺省 只能被当前类的方法访问
private 只允许自己的类访问
static 类变量,可以被类的所有实例共享,并不需要创建类的实例就可以访问
final
volatile 多线程修改试用(可见性,不可重排性)
transient 告诉编译器,在该对象序列化的时候,此变量不需要长久保存

·

方法

·

public 共有的
protected 同包可以访问
private 私有,本类使用
缺省(无访问修饰符) 同包可以访问(子类如不在同一包下,也不能访问)
static 静态方法又称为类方法 提供不依赖于类实例的服务
final 阻止任何子类重写该方法
abstract 抽象方法 声明而不实现,不能将static final方法或者类的构造器声明为abstract
native 在类中没有实现,大多数的情况下是由C、C++编写的(JNI提供了运行时加载一个native 方法的实例,并将其于一个Java类关联)
synchronized 异步调用

·

图片一览

·
在这里插入图片描述

·
end

如有错误,欢迎指正 欢迎转载,请注明出处