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中的“继承中的公有与私有访问权限”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)