您的位置:首页 > 编程语言 > Java开发

Java权限访问修饰符 亲测总结

2016-09-13 01:31 281 查看
Java权限访问修饰符  亲测总结

1.类成员(包括:变量、静态变量、构造器、方法、静态方法、成员类;不包括:代码块、静态代码块)修饰符:private default protect public 

访问修饰符 同一个类
 同包,子类
同包,非子类不同包,子类不同包,非子类
private    
default(friendly)√(不用创建直接继承)√(需创建再用)
  
protected√(不用创建直接继承)√(需创建再用)√(不用创建直接继承) 
public√(不用创建直接继承)√(需创建再用)√(不用创建直接继承)√(需创建再用)
2.外部类修饰符:private default public abstract final

default:同一个包中可见
public:所有包所有类可见
abstract:抽象类
final:不可以被继承

(static:成员内部类,用他修饰后,就成了静态内部类了,并且可以当做普通类使用(先import外部成员),而不用先实例化一个外部类。)

3.接口修饰符:default public 

public:所有包可见
default:只能同一个包中可见

(1.接口的变量总是需要定义成:public static final 类型 名称,但可以不用写的这么复杂,默认就是public static final

  2.接口的方法只能使用public、abstract修饰。)

4.成员方法的修饰符:

①.普通类成员方法

public(公共控制符)
private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。
final,指定该方法不能被重载。
static,指定不需要实例化就可以激活的一个方法。
synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

②.抽象类成员方法

abstract 修饰抽象的方法

public 普通公开方法

default    普通包内方法

protected 

(1.抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。

  2.抽象类除了包含抽象方法外与普通类无区别。)

③.接口成员方法

只能 public abstract修饰,并且abstract可以省略不写。

(1.接口中的方法全部是抽象方法(但其前的abstract可以省略),所以抽象类中的抽象方法不能用的访问修饰符这里也不能用。

  2.而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。

  3.属性默认public static final修饰,即没有对象属性,且必须赋初值。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: