Java 继承中的公有与私有访问权限

 

   接下来,我们准备为大家介绍“继承中的公有与私有访问权限”。

 

  经过前面的学习,我们已经了解到什么是继承,那么,在继承以后,公有与私有的访问权限有什么区别呢?

 

  (1)父类中的公有属性与方法,在继承以后的子类中都可以访问,或者在类外通过子类的对象也可

     以访问。

 

  (2)父类中的私有属性与方法,在继承以后的子类中或子类外通过对象都不可以访问

 

  (3)子类中的公有属性与方法可以在类中或类外通过子类的对象来访问。

 

  (4)子类中的私有属性与方法可以在类中访问,但不可以在类外通过子类的对象来访问。

 

 

 

  接下来,我们结合例子作进一步的学习,首先,我们通过一个例子来定义一个“犀牛类”,去继承一个“动物类”。

 

例子:

//----------------------//

//-------动物类-------//

//----------------------//

class  DongWu  

{

   private int head;  //头 (定义了私有属性

 

   int body;  //身(定义了公有属性)

   int Leg;  //腿(定义了公有属性)

   int Tail;  //尾(定义了公有属性)

 

   void Init()   //定义了公有方法init,用于初始化

   {

     head = 1;

   }

 

   private void Move( int x ) //定义了私有的方法Move,用于移动

   {

     x = x + 1;

   }

};

 

//------------------------//

//--------犀牛类-------//

//------------------------//

class  XiNiu extends  DongWu  //继承了动物类DongWu 

{

  int  Jiao; //角 (犀牛类只定义了一个属性Jiao,然后,就没有其它属性了

};

 

 

//----------------------------------------------------------------------------------------------//

//Mytest类是在创建Java文件时产生的,你可以回顾"Java程序入口点这一章"

//----------------------------------------------------------------------------------------------//

public class MyTest     

{
 public static void main(String[] args)   //入口方法main
  {

   XiNiu  XN1 = new XiNiu();     //定义犀牛类

 

   XN1.head = 1;   //错误,head在动物类中是私有属性,不可以在继承以后的类外通过对象调用。

 

   XN1.Move(1) ;   //错误,Move在动物类中是私有方法,不可以在继承以后的类外通过对象调用。

 

   XN1.Init() ;     //正确,Init在动物类中是公有方法,可以在继承以后的类外通过对象调用。

 

   XN1.Jiao = 2;   //正确,两只角(犀牛类自身的属性)

   XN1.body = 1;  //正确,1个身体(继承父类,动物类的属性)

   XN1.Leg = 4;    //正确,4只脚(继承父类,动物类的属性)

   XN1.Tail = 1;    //正确,1条尾巴(继承父类,动物类的属性)

  }

       

 

  非常好,现在,我们已经掌握了Java中的“继承中的公有与私有访问权限”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

    

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练