超类中的公共接口(public 方法)可以访问其私有的属性及方法 那样子类不就可以间接继承了超类的私有数据和方法class T { private int field = 500; public int getFiled() { return getPrivateFiled(); } private int getPrivateFiled() { return field; } } public class S extends T { public static void main(String args[]) { T t = new S(); System.out.println(t.getFiled()); } }
那样子类不就可以间接继承了超类的私有数据和方法class T { private int field = 500;
public int getFiled() {
return getPrivateFiled();
}
private int getPrivateFiled() {
return field;
}
}
public class S extends T { public static void main(String args[]) {
T t = new S();
System.out.println(t.getFiled());
}
}
既然不可见,谈继承与不继承没有什么意义。
继承为了什么?为了使用父类中的成员或方法。不能使用,就算叫继承了,也没用啊。某人(A)的父亲(B)是个富翁,遗憾的越富的人越吝啬。
B说,我的钱是我挣来的,只能我自己花,甚至我最疼爱的儿子A,我也不让花,要花自己去挣。
A对别人说,我们家有很多钱(归B所有),但我一个子儿也花不了,这些钱我爸爸从来也没有
让我看过一眼。所以,虽然我没有钱,但我爸爸有钱,比你爸爸强多了。(A穿得破衣烂衫的)
别人向A借钱,A看利息比较高,想借给,但又拿不出来钱来。于是,A向他爸爸B进行转借,调
用了B的一个“借款”方法,B也乐得鸡生蛋,就借给了A。
到这儿,A知道B剩下的钱的数目吗?当然不知道啦。
不知道我说得对不对。另外acio说的,既然不可见谈继承就没有意义,我也有所同感,呵呵。趁热打铁,再问大家一个问题。protected到底是什么样的变量和方法呢?他起什么作用?和private有什么差别???我看书都讲到抽象类和抽象方法了,也没提这回事。能帮忙解释一下吗?
私有方法的“指针”,因而子类访问不到父类的私有方法。
-------------------------
类中protected方法 只能由其子类访问(以及同一包内的类)的到。