本来是在有道笔记本自己写自己看的,出于共享与进步的想法,写在这里给大家参考与指导一下,写的不好轻黑,谢谢。
抽象类 | 接口 |
---|---|
有构造方法 | 没构造方法 |
不能直接实例化。 | 不能实例化。 |
子类继承该抽象类。new 子类的时候,先调用父类构造器,间接实例化。 | 类实现该方法,new。 |
匿名内部类的形式实例化。 | 匿名内部类的形式实例化,容易产生实例化接口的假象。 |
public abstract class AbstractTest
{
public AbstractTest()
{
System.out.println("抽象类实例化");
}
public abstract void display();
public void display2()
{
System.out.println("实例方法");
}
public static void main(String[] args)
{
System.out.println("-----------");
AbstractTest a = new Sub();
a.display();
a.display2();
AbstractTest b = new AbstractTest(){
public void display()
{
System.out.println("匿名内部类形式");
}
};
b.display();
b.display2();
}
}
class Sub extends AbstractTest
{
public void display()
{
System.out.println("抽象方法实现");
}
}