为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我用接口实现狗看门的功能出错?

public static void main(String[] args) {

// TODO Auto-generated method stub

    

    Iwatchdoor wt1 = new Dog();//为什么出现这个错误Cannot instantiate the type Dog

    wt1.watchDoor();

    Iwatchdoor wt2 = new Door();

    wt2.watchDoor();

    

}

public abstract class Dog extends Animal implements Iwatchdoor {

public void eat(){

System .out .println("狗具有吃肉的能力");

}

public void watchDoor(){

System.out .println("狗具有看门的能力");

}

}


正在回答

3 回答

你的狗吃肉 和狗看门都放在同一个类里面的,所以你直接用wt1调用狗看门就可以了   

你的  Iwatchdoor wt2 = new Door();不对     Door是一个方法

看不到你全部代码,也不知道我说的对不

0 回复 有任何疑惑可以回复我~
#1

慕标3471310 提问者

Iwatchdoor wt2 = new Door()这个代码我运行了可以,就是用接口的知识,还是不行啊
2016-04-19 回复 有任何疑惑可以回复我~

public abstract class Dog extends Animal implements Iwatchdoor {

这个Dog类好像没必要是抽象类吧,你加了abstract,抽象类不能创建对象的。

0 回复 有任何疑惑可以回复我~

package com.imooc;


public abstract class Dog extends Animal implements Iwatchdoor {

public void eat(){

System .out .println("狗具有吃肉的能力");

}

public void watchDoor(){

System.out .println("狗具有看门的能力");

}

}

package com.imooc;


public abstract interface Iwatchdoor {

public abstract void watchDoor();

}

package com.imooc;


public class Initial {


public static void main(String[] args) {

// TODO Auto-generated method stub

    

    Iwatchdoor wt1 = new Dog();//为什么出现这个错误Cannot instantiate the type Dog

    wt1.watchDoor();

    Iwatchdoor wt2 = new Door();

    wt2.watchDoor();

    

}


}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我用接口实现狗看门的功能出错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信