public class A {
public void method1{
System.out.println("Method 1 called");
}
public void method2{
System.out.println("Method 2 called");
}
}
class B extends A {
B obj = new B();
obj.method1();// should be present in scope
obj.method2();// should not be accessible.Should not be present in scope.
}
class C extends A {
C obj = new C();
obj.method2(); // should be present in scope.
obj.method1(); // should not be accessible. Should not present in scope.
}
描述:考虑上面的例子,其中A是超类,B,C是子类。
他们是否有任何适当的程序可以通过以下方式实施:
谢谢
答案 0 :(得分:1)
他们是否有任何适当的程序可以通过以下方式实施: 子类B必须只能访问method1()而不能访问method2()。 子类C必须能够访问method2(),但不能访问method1()。
这是不可能的,因为如果您想阻止成员的继承,请将其设置为private
。
但是,一旦将其设置为private,子类B和子类C都不能继承该成员。