700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java权限修饰符private default(一般省略) public protected

Java权限修饰符private default(一般省略) public protected

时间:2021-02-19 19:18:43

相关推荐

Java权限修饰符private default(一般省略) public protected

权限修饰符概念:

private:Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。protected:介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。

注意点:

这里需要注意的是,所谓的访问,可以分为两种不同方式:第一,通过对象实例访问;第二,直接访问。

比如说,某父类protected权限的成员,子类是可以直接访问的,换一种说话是子类其实继承了父类的除了private成员外的所有成员,包括protected成员,所以与其说是子类访问了父类的protected成员,不如说子类访问了自己的从父类继承来的protected成员。另一方面,如果该子类与父类不在同一个包里,那么通过父类的对象实例是不能访问父类的protected成员的。

二、下面用表格来展示四种修饰符的访问权限范围:

三、举个例子

在Eclipse中新建个类,四个类的结构如下,Aclass 和Bclass 是同包的类,Cclass 和Dclass是同包的类,Cclass 继承了Aclass。

Aclass类的定义如下,有四个成员变量,权限分别为private、default、protected、public。四个成员方法,权限分别为 private、default、protected、public。

Bclass类定义如下,它和Aclass类同属于 test1包 ,在里面定义了一个成员方法show(),该方法通过两种方法对Aclass类的所有成员进行了访问,第一方法通过实例化一个Aclass类对象aa对成员变量及方法进行访问,第二种是直接访问Aclass中的成员。通过IDE的自动检测报错,可以看出,Bclass类是不能直接访问Aclass类的成员的,但通过对象的方法可以访问default权限以下(default、protected、public)的成员。

Cclass类定义如下,它和Aclass类属于不同的包,但是Cclass继承了Aclass ,在里面定义了一个成员方法show(),该方法同样通过两种方法对Aclass类的所有成员进行了访问,第一方法通过实例化一个Aclass类对象aa对成员变量及方法进行访问,第二种是直接访问Aclass中的成员。通过IDE的自动检测报错,可以看出,Cclass类是可以直接访问Aclass类权限为protected、public的成员(因为子类的缘故),但通过对象的方法只能访问 public权限的成员(因为Cclass和Aclass不同包)。

Dclass类定义如下,它是Aclass类不同包的一般类,在里面定义了一个成员方法show(),该方法同样通过两种方法对Aclass类的所有成员进行了访问,第一方法通过实例化一个Aclass类对象aa对成员变量及方法进行访问,第二种是直接访问Aclass中的成员。通过IDE的自动检测报错,可以看出,Dclass类是不可以直接访问Aclass类的成员(因为不是子类的缘故),但通过对象的方法只能访问 public权限的成员(因为class和Aclass不同包)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。