Java中权限修饰符public、private、protected和default的区别

1、public

可以修饰类、成员变量和成员函数,没有任何限制,同一个包中,或者不同包中的类都可以自由访问


2、private

可以修饰成员变量和成员函数,只能在本类中使用


3、default

(不写权限修饰符,就是default权限)可以修饰类、成员变量和成员函数,在同一个包中,可以自由访问。如果子类和父类不在同一个包中,子类可以继承到父类中的default权限的成员变量和成员函数,但是由于权限不够,无法使用


4、protected

protected权限首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数

 

5、继承和访问权限

(1)、如果是在同一个包内发生继承:
子类可以继承父类所有的变量,但子类对象只能使用父类中public、protected、default成员变量,不可以使用private变量;
(2)、如果是跨包继承:
对于父类中的 public 变量,子类可继承,可使用;
对于父类中的 protected 变量,子类可继承,可使用,但非子类不可使用;
对于父类中的 default 变量,子类可继承,不可使用;
对于父类中的 private 变量,子类可继承,不可使用。

 

posted @ 2015-12-13 21:25  coderbinbin  阅读(659)  评论(0编辑  收藏  举报