1: 接口的语法
1.1 接口的定义方式通过interface定义;
1.2 接口里面只允许有公开静态的常量;
1.3 接口里面只允许有公开抽象的方法;(jdk1.8以前)
1 interface 接口名字{ 2 String NAME = "jack"; //默认在编译的时候,会添加上 public static final 3 4 void test1();//默认会添加 public abstract void test1(); 5 }
jdk1.8接口可以存在静态方法和默认方法;
2: 什么是接口
1: 普通的类,只能继承一个类;但是可以实现多个接口;
2: 实现多个接口,这个类必须重写所有接口里面的所有抽象方法
1 //通电 2 public interface ITongDian { 3 4 public void have220V(); 5 } 6 7 //节能的接口;由国家统一发布这个接口标准; 8 public interface IEnergySaving { 9 10 //就得有一个实现;叫变频; 11 public void conversion(); 12 13 } 14 15 16 public class MeiDi extends MeiDiFather implements IEnergySaving,ITongDian{ 17 18 public void conversion() { 19 System.out.println("美的开始变频了,这个生产的空调,就节能."); 20 } 21 22 public void have220V() { 23 System.out.println("美的空调能够通电,通220v电"); 24 } 25 26 }
接口的定义代表你要有某种能力;
接口里面的方法代表有具体的要求;
3: 接口的规范
我们重写一个方法,修饰符一定是比重写之前的访问级别要高或者说一样
1 class A{ 2 public void test(){ // default 3 4 } 5 } 6 7 class B extends A{ 8 public void test(){ //重写的时候, public protected default private(错误的) 9 10 } 11 }
实现接口的方法,修饰符一定是public;[接口里面所有的抽象方法,默认都是public修饰符]
4: 常见的关系
类/接口
4.1 类与类之间的关系;
可以是继承关系, extends来描述继承关系; 单继承
4.2 类与接口之间的关系;
是一个实现的关系; implements 某个类实现了多个接口; 多实现
语法: A implements IB1,IB2,IB3...{}
4.3 接口与接口之间的关系;
接口继承接口; extends关键字来描述;
IA extends IB1,IB2,IB3...{}
接口与接口之间继承的是什么东西 : 会将我们所有的属性,抽象方法全部通通继承过来.