网站建设收费分几次,做招聘信息的网站,wordpress页面的添加,哪个网站做动图基本介绍
接口给出一些没有实现的方法#xff0c;封装到一起#xff0c;到某个类使用时再根据具体情况把这些方法写出来。
注意#xff1a;在jdk7之前#xff0c;接口里所有的方法都是抽象方法。在jdk8之后接口中可以有静态方法#xff0c;默认方法
interface 接口名{/…基本介绍
接口给出一些没有实现的方法封装到一起到某个类使用时再根据具体情况把这些方法写出来。
注意在jdk7之前接口里所有的方法都是抽象方法。在jdk8之后接口中可以有静态方法默认方法
interface 接口名{//属性//方法
}class 类名 implements 接口{//自己的属性//自己的方法//必须实现的接口的抽象方法
}例子
public interface AInterface{//属性int a10;//方法(抽象方法)void b();//jdk8之后接口中可以有默认方法default public void c(){System.out.println(hello);}//jdk8之后接口中可以有静态方法public static void d(){System.out.println(hi);}
}深入讨论 //项目经理写的
public interface DBInterface{void connect();void close();
}//A程序员连接mysql
public class MysqlDB implements DBInterface{overridepublic void connect(){System.out.println(连接mysql);}public void close(){System.out.println(关闭mysql);}
}//B程序员连接Oracle
public class Oracle implements DBInterface{overridepublic void connect(){System.out.println(连接Oracle);}public void close(){System.out.println(关闭Oracle);}
}//运行数据库
public class InterfaceTest {public static void main(String[] args) {MysqlDB mysqlDB new MysqlDB();//调用方法InterfaceTest interfacetest new InterfaceTest();interfacetest.work(mysqlDB);}public static void work(DBInterface db){db.connect();db.close();}
}运行结果
使用细节
1、接口中所有的方法都是publoc 默认使用public abstract修饰方法
void a();
//实际上是
public abstract void a();2、一个普通类实现接口就必须将该接口中的所有方法都实现可以使用altenter 3、抽象类实现接口可以不用实现接口中的方法。 4、一个类可以实现多个接口
class Pig implements A,B{... ...
}5、接口中所有的属性都是public 默认使用public static final修饰属性且必须初始化
int a1;
//实际上是
public static final a1;6、接口不能继承类但是可以继承多个其他接口。
interface A extends B,C{}7、接口的修饰符只能是public和默认这点和类的修饰符是一样的
接口VS继承
1、接口和继承解决的问题不同 继承的价值主要在于:解决代码的复用性和可维护性。 接口的价值主要在于:设计设计好各种规范(方法)让其它类去实现这当方法。 2、接口比继承更加灵活 接口比继承更加灵活。继承是满足is - a的关系而接口只需满足like - a的关系。 3、接口在一定程度上实现代码解耦
接口多态特性
接口多态传递
课堂练习