华恩JAVA班第26天
接口知识点总结
接口:初步理解,接口是一个特殊的抽象类,当抽象类中全部都是抽象方法时, 可以通过接口的形式来体现。 class用于定义类 interface用于定义接口
接口中成员的格式: 1.public static final String NAME = "小李";//全局常量 2.public abstract void show(){};//抽象方法
注意: 1.接口中只能出现public访问修饰符 2.接口不可以创建对象,因为里面有抽象方法,需要被子类实现, 子类对接口中的所有抽象方法实现后,子类才能够实例化,否则子类就是抽象类
interface smoket{ public static final String NAME = "小李";//StringNAME = "小李"; void show(); //public abstract void show(); } class Student implements smoket{ public void show(){ System.out.println("在吸烟"); } } public class Test { public static void main(String[] args) { Student s = newStudent(); s.show(); } }
关系: 类与类之间:继承关系 接口与类之间:实现关系 接口与接口之间:继承关系
interface Smoket{ void smoket(); } interface Game{ void computerGame(); } class Student implements Smoket,Game{ public void smoket(){ System.out.println("吸烟"); } public void computerGame(){ System.out.println("游戏"); } } public class Test1 { public static void main(String[] args) { Student s = newStudent(); s.smoket(); s.computerGame(); } }
接口:提高了功能的扩展性, 因为它降低了事物与事物之间的耦合性(关系紧密程度)
父类中定义的是多个类中共性的基本功能 接口中定义的是扩展功能
接口好处: 可以多实现,也就是一个类可以实现多个接口
class Person{ String name; int age; } interface Smoket{ void smoket(); } class Student extends Person{
} class Worker extends Person implements Smoket{ public void smoket(){ System.out.println("抽烟"); } } public class Test2{ public static void main(String[] args){ Worker w = new Worker(); w.smoket(); } }
interface Filter{ public void filter(); } interface Buffer{ public void buffer(); } interface Heating{ public void heating(); } interface Sugar{ public void sugar(); } class Water{ public void forWater(){ System.out.println("取到水"); } } class Equipments extends Water implements Filter ,Buffer,Heating,Sugar{ public void filter(){ System.out.println("已过滤"); } public void buffer(){ System.out.println("已缓冲"); } public void heating(){ System.out.println("已加热"); } public void sugar(){ System.out.println("已放糖"); } public String print(){ return"已过滤"+"\n"+"已缓冲"+"\n"+ "已加热"+"\n"+"已放糖"+"\n"; } } public class Test3{ public static void main(String[] args){ Equipments equipments = newEquipments(); equipments.forWater(); System.out.println(equipments.print()); System.out.println("XXX纯净水生产完成"); } }