假设有一个A类,它由子类B继承。
超类有两种方法A1和A2。
我的问题是,我们可以限制B访问A1吗?
答案 0 :(得分:0)
My question is, can we restrict B from accessing A1?
是的,您可以通过简单地使用Access Modifier(私有)来限制访问a1方法,如:
class A
{
private void a1()
{
System.out.println("foo");
}
public void a2()
{
System.out.println("doo");
}
}
class B extends A
{
public static void main(String args[])
{
B obj=new B();
obj.a1();// it would give you compile time error
}
}
在上面的java代码中, a1 方法被指定为私有,并且它会给出编译时错误。
奖励积分: 子类不继承其父类的私有成员。但是,如果超类具有访问其私有字段的公共或受保护方法,则子类也可以使用这些方法。
你必须阅读: https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html