问题描述
解决方案
父类本身的私有方法是可以被自己的其他方法调用的,但是这些私有方法子类是不能调用的,但是可能被间接调用。
例如下面的例子,父类的私有方法被一个公有方法调用了,那么子类继承这个公有方法后也就间接调用了父类的私有方法了。但是子类可直接访问的方法里却没有这个私有方法的。
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域還是方法
解决方案四:
Java 继承 父类变量, 方法 与子类的关系:
在java中父类调用子类中的方法
java 子类重写父类的方法
解决方案五:
父类的私有方法只可以在父类的内部使用,通过对象是没法调用的。但可以被子类继承,而子类不能直接访问这个私有方法。
解决方案六:
既然是私有,肯定是不能让别人用,不然和共有还有什么区别??
解决方案七:
私有的肯定是不能被继承的。私有就是自己能用。
解决方案八:
private为私有属性,所以只能被本类使用,其他类不能使用和访问
时间: 2024-12-02 09:06:14