我如何回答关于Java中类声明的这个家庭作业问题?

时间:2011-02-03 02:24:00

标签: java

ClassA延伸Object。鉴于以下法律实例:

InterfaceB myGuy = new ClassA();

ClassA myGuy = new ClassA();

ClassA的类声明的第一行可能是什么?

仅供参考,我上次尝试的答案是 - “公共类classA实现了interfaceB {...}”

是的,这是来自java noob的作业问题。我希望在正确的方向上有一个好点。青少年负面评论可以留给自己......谢谢。

3 个答案:

答案 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 ();

你知道第二个