新手请教个问题,java中关于用匿名内部类的方式创建实例
我的理解是:如果一个接口包含不只一个抽象方法,那么只重写其中一个方法的话它还是一个“抽象类”,是不能new一个实例的,为什么这里可以呢?Comparator这个接口我看了...
我的理解是:如果一个接口包含不只一个抽象方法,那么只重写其中一个方法的话它还是一个“抽象类”,是不能new一个实例的,为什么这里可以呢?
Comparator这个接口我看了源代码不只compare这一个抽象方法,为什么只以匿名内部类的方式重写了这一个方法就可以new了? 展开
Comparator这个接口我看了源代码不只compare这一个抽象方法,为什么只以匿名内部类的方式重写了这一个方法就可以new了? 展开
1个回答
展开全部
个人认为应该是这样的,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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询