标签:
Java
语言中,变量的类型主要有成员变量,静态变量,和局部变量三种.类的成员变量 的作用范围与类的与类对象的作用范围相同,当类被实例化时,成员变量就会在内存中分配空间并初始化,直到这个实例化对象的生命周期结束为止.static
修饰的成员变量为静态变量或者全局变量,与成员变量不同的是静态变量不依赖于特定的实例,而是被所有的实例所共享,只要一个类被加载JVM就会给类的静态变量分配内存空间,因此,就可以通过类名和变量名来访问静态变量.局部变量处于方法内部,其作用域与可见性为他所在的花括号内.作用域,可见性 | 当前类 | 同一package | 子类 | 其他package |
---|---|---|---|---|
public |
可见 | 可见 | 可见 | 可见 |
private |
可见 | 不可见 | 不可见 | 不可见 |
protected |
可见 | 可见 | 可见 | 不可见 |
default |
可见 | 可见 | 不可见 | 不可见 |
-public
:表明该成员变量或者方法是对所有类或者对象都是可见的,所有类或者对象都可以直接访问
- private
:表明该成员变量或者方法是私有的,只有当前类对其具有访问权限,除此之外其他类或者对象都没有访问权限.子类也没有访问权限.
- protected
:表明成员变量或者方法对类自身,与同在一个包中的其他类可见,其他包下的类不可访问,除非是他的子类
- default
:表明该成员变量或者方法只有自己和其位于同一个包的内可见,其他包内的类不能访问,即便是它的子类
private
和protected
不能用于修饰类public , abstract , final
能用于修饰类D
.子类在父类为priavate
和default
类型下不能访问父类的方法,且只有静态方法可以被直接调用,故D
正确.标签:
原文地址:http://blog.csdn.net/qq_26971803/article/details/51516075