abstract class Demo01 {
   //定义抽象类
   public abstract void fun1();

}
class Demo02 extends Demo01 {

  @Override
   public void fun1() {
     // 抽象类通过子类实例化
    System.out.println( "抽象类通过子类实例化");
  }

    
}

interface    Demo03 {
   //定义接口
   void fun();
}

class Demo04 implements Demo03{

  @Override
   public void fun() {
     // 通过子类实现接口
    System.out.println( "通过子类实现接口");
  }

}
public class FirstDemo {

   /**
    *    
    * @param args
    */

   public static void main(String[] args) {
    Demo01 demo01 = new Demo02(); //抽象类通过子类实例化
    demo01.fun1();
    Demo03 demo03 = new Demo04(); //接口类通过子类实例化
    demo03.fun();
  }
}