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();
}
} |
|