ClassA
延伸Object
。鉴于以下法律实例:
InterfaceB myGuy = new ClassA();
和
ClassA myGuy = new ClassA();
ClassA
的类声明的第一行可能是什么?
仅供参考,我上次尝试的答案是 - “公共类classA实现了interfaceB {...}”
是的,这是来自java noob的作业问题。我希望在正确的方向上有一个好点。青少年负面评论可以留给自己......谢谢。
答案 0 :(得分:1)
线索显然是两个法律实例中第一个的名称:InterfaceB
。
声明变量时,可以实例化(使用new
关键字)从(通过子类化)或实现(从接口)派生的对象的任何类型类型。
因此InterfaceB
是由ClassA
实施的界面或ClassA
的超类。
答案 1 :(得分:1)
你知道这条线是合法的:
InterfaceB myGuy = new ClassA();
为了使该作业合法,ClassA
必须延长或实施InterfaceB
。您知道ClassA
扩展了Object
,因此无法扩展InterfaceB
。所以InterfaceB
必须是一个接口而不是一个类。
InterfaceB
的接口声明的第一行是:
public interface InterfaceB {
那么ClassA
的类声明的第一行是什么?
答案 2 :(得分:0)
这意味着有
InterfaceB interfaceB{};
和ClassA
实施了它;
ClassA imeplements interfaceB {}
所以你可以初始化。 InterfaceB喜欢
InterfaceB interfaceB = new ClassA ();
你知道第二个