新手请教个问题,java中关于用匿名内部类的方式创建实例

我的理解是:如果一个接口包含不只一个抽象方法,那么只重写其中一个方法的话它还是一个“抽象类”,是不能new一个实例的,为什么这里可以呢?Comparator这个接口我看了... 我的理解是:如果一个接口包含不只一个抽象方法,那么只重写其中一个方法的话它还是一个“抽象类”,是不能new一个实例的,为什么这里可以呢?

Comparator这个接口我看了源代码不只compare这一个抽象方法,为什么只以匿名内部类的方式重写了这一个方法就可以new了?
展开
 我来答
subirt
2014-10-25 · TA获得超过1876个赞
知道大有可为答主
回答量:2435
采纳率:0%
帮助的人:1247万
展开全部

个人认为应该是这样的,Comparator接口只有两个方法,compare和equals。因为所有类都是继承Object类的,Object类中有equals方法,所以在实现接口的时候equals方法就从Object里继承下来了,同时也就是继承的这个方法,去重写了接口中的equals

下面我写了一个实例

public interface ParentInterface {
    public void method();
}

public class ParentClass {
    public void method(){
        System.out.print("ParentClass");
    }
}

public class ChildClass extends ParentClass implements ParentInterface {
    /**
     * @param args
     */
    public static void main(String[] args) {
        ChildClass cc = new ChildClass();
        cc.method();
    }
}

输出结果为:ParentClass
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式