java基础之接口(interface):接口和继承的比较,implements

java基础之接口(interface):

一、基础介绍:
1.接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
2.语法
interface 接口名 {
	//属性  
	//方法名(抽象方法,默认实现方法,静态方法)
	//在接口中,抽象方法可以省略abstract关键字
}
class 类名 implements 接口 {
	自己属性;
	自己方法;
	必须实现的接口的抽象方法		
}	
小结:
1.在jdk7.0之前接口里的所有方法都没有方法体(即都是抽象方法);
2.在jdk8.0之后接口类可以有静态方法(需要static关键字修饰),默认方法(需要default关键字修饰),也就是说接口中可以有方法的具体实现。
二、注意事项和细节:
1.接口不能被实例化;
2.接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修饰;
        比如  void aaa();  实际上是 abstract void aaa();
3.一个普通类实现接口,就必须将该接口的所有方法都实现;
4.抽象类实现接口时,可以不用实现接口的方法;
5.一个类同时可以实现多个接口;
6.接口中的属性,只能是final的,而且是public static final 修饰符,比如:
	int a  = 1; 实际上是public static final int a = 1;(必须初始化)
7.接口中属性的访问形式:接口名.属性名;
8.一个接口不能继承其他的类,但是可以继承多个接口;
	interface A extends B,C{  }
9.接口的修饰符 只能是public 和 默认,这点和修饰符是一样的。	
三、接口和继承类比较
1.接口和继承解决的问题不同
继承的价值主要在于:解决代码的复用性和可维护性;	
接口的价值主要在于:设计,设计好各种规范(方法),让其他类去实现这些方法。
2.接口比继承更加灵活,
继承是满足is - a 关系 ,而接口只需满足 like - a 的关系。
3.接口在一定程度上实现代码解耦即【接口规范性 + 动态绑定】。
小结:
1.当子类继承了父类,就自动拥有了父类的功能;
2.如果子类需要扩展功能,可以通过实现接口的方式扩展;
3.可以理解为实现接口是对java单继承机制的一种补充。
四、接口的多态特性:
1.多态参数:接口引用可以指向实现了接口的类的对象;
2.多态数组
3.接口存在多态传递现象。

每日金句分享:纸上得来终觉浅,绝知此事要躬行。

猜你喜欢

转载自blog.csdn.net/m0_52271574/article/details/121641766
今日推荐