java中的权限修饰符

来源:互联网 发布:无创dna数据辨别男女 编辑:程序博客网 时间:2024/04/20 22:26

java中的权限修饰符主要包括:private,public,和protected,这些修饰符控制着对类以及类的成员变量以及成员方法的访问。

一. 类的权限修饰符:private,protected,public

1. private

被private修饰的类不能被其子类所访问(也就是不能在其子类中new一个父类实例)但类中成员变量和成员方法可以被继承(可以被继承不等同于可以在其子类中被访问到因为还与成员变量和成员方法的修饰符有关,后面会讲到)私有类通常不用于被继承,而是在定义一个类的内部类,又不希望外界访问它的话通常将其修饰为private,这样这个类只能在这个类的外部类中被使用,外界其他的类不能访问它。

2. protected

被protected修饰的类只能由本包内的子类或其他类所访问

3. public

被public所修饰的类既可以被同一个包的子类和其他类访问也可以被不是同一个包的子类和其他类访问。

二. 类中方法及成员变量的权限修饰符

1. private

被private修饰的方法和成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的即不能够被访问到。

2. protected

被protected修饰的方法和变量只能由本包内的子类继承使用以及本包内的其他类所访问。

3. public

被public所修饰的方法和成员变量既可以被同一个包的子类继承使用和其他类访问也可以被不是同一个包的子类和其他类访问。

三. 友好类和友好方法,成员变量

在java中一些类,方法和成员变量没有被权限修饰符所修饰,统称为友好类,有好变量和方法。他们有一个共同的特点即只能被同一个包的的类所访问(与被修饰为protected类型的类,方法和变量访问规则类似)

总结:一个类能否被其他类和其子类访问,要看它的权限修饰符,一个方法或变量能否被其他类所使用要先看本类的权限修饰符再看自己的权限修饰符,一个类中的方法和变量可以被其子类继承,但这个类不一定能够被其子类所访问。

0 0
原创粉丝点击