黑马程序员技术交流社区

标题: 关于JAVA中的隐藏,举个例子探讨下 [打印本页]

作者: 古典牧童    时间: 2015-4-21 19:21
标题: 关于JAVA中的隐藏,举个例子探讨下
定义——子类重新定义一个与父类那里继承来的域变量完全相同的变量,称为域的隐藏。
如果子类拥有两个相同名字的变量,一个继承自父类,另一个由自己定义。当子类执行父类的方法时,处理的是父类的变量,而当子类执行它自己定义的方法时,所操作的就是它自定义的变量,而把继承自父类的变量“隐藏”起来了。
一般情况下,子类方法操作子类的变量。但是,子类的方法也可以通过super关键字操作父类的成员变量。

下面的例子当中,就分新卡和老卡,this获取新卡的余额,super获取老卡的余额。
class HealthCardM_t_w {
double balance = 90;
double getBalance() {
return this.balance;
}
}

class New_Card extends HealthCardM_t_w {
double balance; // 隐藏父类的balance
public New_Card(int in) {
balance = in;
}
double getOldBalanceInNew_Card() {
return super.balance;
}
double getOldBalanceByMythodInNew_Card() {
return super.getBalance();
}
double getThisBalanceInNew_Cardget() {
return this.balance;
}
}

public class Test {
public static void main(String args[]) {
。。。。。。。。。。

欢迎大家各抒己见




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2