父类都不能用他本身的私有方法,子类岂不是更不能用了,这一点是怎么证明的?举个例子
父类本身的私有方法是可以被自己的其他方法调用的,但是这些私有方法子类是不能调用的,但是可能被间接调用。
例如下面的例子,父类的私有方法被一个公有方法调用了,那么子类继承这个公有方法后也就间接调用了父类的私有方法了。但是子类可直接访问的方法里却没有这个私有方法的。
public class Parent {
public void say(){
call();
}
private void call(){
System.out.println("parent private ...");
}
}
public class ParentSon extends Parent{
public static void main(String[] args) {
ParentSon son = new ParentSon();
son.say();
}
}
私有就是为了不对外暴露,如果想被子类使用,设置成protect就可以了
父类的私有方法只可以在父类的内部使用,通过对象是没法调用的。但可以被子类继承,而子类不能直接访问这个私有方法。
既然是私有,肯定是不能让别人用,不然和共有还有什么区别??
私有的肯定是不能被继承的。私有就是自己能用。
其實我的理解是被繼承的,只是不被使用:如
class A{public int i = 0;}
class B extends A{public int i = 1;}
class C{
public static void main(String[] args){
A a = new B();
System.out.print(a.i);
}
}
你會發現儘管是A的引用B的對象,應該調用的是1,但是卻是0,可以推出其實是在B中也是有A的空間.
同樣其實在子類中也有基類的private方法,但僅僅被限制不能使用而已.而且父類肯定能過使用其自身的private方法,這點你需要弄清楚,不管是private域還是方法
private为私有属性,所以只能被本类使用,其他类不能使用和访问