public、private、protected属性与public、private、protected继承

来源:互联网 发布:初中网络安全教育教案 编辑:程序博客网 时间:2024/05/05 22:57

一、先说类成员变量及成员函数的的属性。


      1.public 与 private 的区别

       public的变量和函数在类的内部外部都可以访问,而private只有在类的内部可以访问

 

       2. protected 与 private

如果一个类没有派生出其他类,那么protected和private是完全相同的,也就是说protected和private一样只

能在类的内部访问,不能在类的外部访问。

但是在派生其他类的情况下,protected和private的区别就体现出来了。private型变量只能在类本身中访问,

在其派生类中也不能访问;而protected型的变量可以在派生类中访问

二、继承类型

了解了这三种数据类型,对继承关系就很清楚了。
private变量只在类本身可访问,因此不论哪种继承方式在派生类中都是不可访问的
剩下的可以这样记,public > protected > private,派生类中的数据类型是基类数据类型和继承方式中取小

的值

 

 

 

 

 

 

 

在JAVA中,定义了三个修饰符来控制类、类的属性以及类的方法等的访问范围。通过这三个修饰符,可以定义四种程度的限制。下面将对这些修饰符做详细的说明。

     private:这是限制最严格的一个修饰符,使用这个关键字来修饰的属性或方法,只能在同一个类中被访问。也就是说,在这个类文件之外,这些属性或方法是被隐藏的。这个修饰符最常用于修饰类中的全局变量。注意,这个修饰符不能用在类前面。

     default:default不是关键字,只是对类、类的属性以及类的方法的访问权限的一种称呼。如果在类、类的属性、类的方法前面没有添加任何的修饰符,则我们说它的访问权限是default的。在这种情况下,只有类本身或者同一个包中的其他类可以访问这些属性或方法,而对于其他包中的类而言是不可访问的。

     protected:protected修饰符修饰的属性或方法,可以被同一个类、同一个包中的类以及子类访问。注意,这个修饰符同样不能用于类前面。

     public:public这个修饰符对类、类的属性以及类飞方法均可用。它是限制最宽松的一种限制,使用这个修饰符修饰的类属性、类的方法可以被任何其他的类访问,无论这个类是否在同一个包中,以及是否是子类。

     下表列出了各种访问修饰符的限制范围:

 修饰符 同一个类中 同一个包中 子类中 全局 private yes    default yesyes    protected yes yesyes   public yesyes yes yes 


 

原创粉丝点击