| 
 
| abstract class Student{//方法一定义成抽象,类也必须是抽象的 abstract void study();//怎么学不确定,所以定义成抽象,study后只有小括号,无大括号,出现不确定的部分用抽象类
 void sleep(){//抽象类中也可以定义不抽象的方法
 System.out.println("躺着睡");
 }
 }
 interface Smoke{  //定义一个接口,提高扩展性,因为有的人抽烟,有的人不抽烟,所以不能定义在抽象类中
 public abstract void smoke();//接口中 方法必须是抽象的方法,所以 用 public abstract 修饰
 public static final int NUM = 1;//接口中的变量  名称 必须每个字母大写
 }
 
 //ZhangSan继承了Student并且        实现了Smoke方法,提高了扩展性      ,同时可以多实现
 class ZhangSan extends Student implements Smoke{
 
 //抽象类调用,必须在子类中重写抽象类中的所有抽象方法,否则只覆盖部分抽象方法的话,那么子类也还是一个抽象类
 void study(){System.out.println("好好学习");}
 
 public void smoke(){System.out.println("吸烟");}//实现 ,必须加public
 
 
 }
 public class InterfaceDemo {
 public static void main(String[] args){
 ZhangSan t = new ZhangSan();
 System.out.println(t.NUM);
 t.study();
 t.smoke();
 t.sleep();
 }
 }
 | 
 |