【发布时间】:2017-03-27 05:53:09
【问题描述】:
请注意这一点。 我有一个超级班
class A
{
public void update(int num)
{...}
}
还有其他课程。继承A类
class B extends A
{
public void update(string str)
{...}
}
B obj = new B();
obj.update(50); // oh no, bad
obj.update(""); // yes
现在,我希望当我从 B 类创建新时,A 类的 update() 不能访问。 - 换句话说,我只想访问 B 的 update() 方法
【问题讨论】:
-
您所做的就像重载
update方法,因为它具有相同的名称但不同的参数。因此,在您的情况下,请使用字符串,这样您就可以防止超级类的更新。 -
如果是这样的话,那么从设计的角度看B不是A的子类,所以你的整个设计是不正确的,如果有人遇到这种需求,请先审查设计。跨度>
标签: java inheritance subclass superclass