标签:扩展 oid 静态 方法 ati 属性 程序员 why rtm
***************************接口*********************************
一.why
需求一直不变的时候可以不使用接口, 需求经常发生改变推荐使用接口...
软件产品中需求会经常改变,所以一般都要使用接口...
体现了可维护、可扩展的优点
二.什么是接口
一组规范的集合(包含属性规范、行为规范),用的最多的是行为规范..
USB插槽(实现) != 接口(规范、看不见摸不着的)
网络中的协议也是规范,相当于接口...
三.how 如何定义接口
使用关键字 interface
public interface 接口名 {
//属性
//方法
}
注意:
1. 接口中的方法都是 抽象方法
public abstract
即使程序员 没有写 public 或 abstract 编译器编译的时候也会帮你补全这两个关键字
public interface Teacher{
void teach();
}
2. 接口中的属性都是 public static final的
即使程序员不写这几个关键字 编译器也会帮你补全
都是静态常量
演示代码:
Teacher.java
package com.chapter9.演示接口;
public interface Teacher {
//1.属性
public static final String TARGET = "teach";
//2.行为
public void teach();
public void dianMing();
}
JavaTeacher.java
package com.chapter9.演示接口;
//实现类
//实现接口要实现接口的所有方法
public class JavaTeacher implements Teacher{
@Override
public void teach() {
System.out.println("我在讲java");
}
@Override
public void dianMing() {
System.out.println("我在点名");
}
public static void main(String[] args) {
Teacher jt = new JavaTeacher();
jt.teach();
}
}
***************************接口的若干知识点*********************************
1. java这门语言是单继承, 为了模拟多重继承,可以使用接口,一个类可以实现多个接口来模拟多重继承
举例: JavaTeacher 既可以实现Teacher这个接口 又可以实现程序员这个接口
2. 接口可以扩展接口吗?
可以. 接口可以扩展 多个接口
举例: 高级厨师(规范)
1. 厨师(规范)
2. ArtMan(规范)
3. HealthMan(规范)
多个小的规范组成一个大的规范,接口可以扩展多个接口
3. 接口可以实现接口吗???
不可以. 因为 实现接口 要实现接口的所有抽象方法, 实现了抽象方法以后 该类
就带有已经实现的方法了,就不能再定义成接口了...
***************************JDK8关于接口的新特性: 带有实现的类方法和默认方法*********************************
接口中的方法都是抽象方法
public interface Teacher {
//1.属性
public String TARGET = "teach";
//2.行为
public void teach();
//带有实现的类方法
public static void dianMing(){
System.out.println("我在点名");
}
//默认方法
default public void exam(){
System.out.println("给学生考试");
}
}
标签:扩展 oid 静态 方法 ati 属性 程序员 why rtm
原文地址:https://www.cnblogs.com/MrTanJunCai/p/9906790.html