01接口的概述
目标:学习接口的概念
讲解:
Java中引用数据类型有3种: 数组,类,接口
class 类名 {
成员变量
成员方法/抽象方法
}
插座国标规范.每个厂家生成的插座都需要符合国标规范
国标规范就是接口,厂家生成的插座就是接口的实现类
1.1 接口概述
接口也是一种数据类型,接口是比抽象类还抽象的类,接口中全是抽象方法.接口体现的是规范
1.2定义格式(重点)
//接口的定义格式:
修饰符 interface 接口名称{
// 抽象方法
}
// 修饰符:public|缺省
// 接口的声明:interface
// 接口名称:首字母大写,满足“驼峰模式”
1.3 接口成分的特点
在JDK8之前,接口中的成分包含:
抽象方法和常量
小结:
接口的定义格式(重点):
interface 接口名 {
抽象方法;
}
将接口看做一个特殊的类
02接口的定义和使用
目标:学习定义和使用接口
讲解:
类和类的关系: 继承
class 子类 extends 父类 {
}
类和接口的关系:
implements 实现关系,和继承关系类似
HeiMaStudent
// 1.定义类实现接口
// 类 实现 接口
// 实现类
public class HeimaStudent implements HeiMaXiaoGui {
// 2.重写抽象方法
@Override
public void daKa() {
System.out.println("准时打卡");
}
@Override
public void daiXiaoPai() {
System.out.println("一定要挂在脖子上");
}
}
//接口
public interface HeiMaXiaoGui {
public abstract void daKa();
public abstract void daiXiaoPai();
}
public class Demo02 {
public static void main(String[] args) {
// 3.创建实现类对象
HeimaStudent hs = new HeimaStudent();
hs.daKa();
hs.daiXiaoPai();
}
}
类实现接口的格式(重点):
class 类名 implements 接口名 {
重写方法;
}
接口的使用:
小结:
类和接口的关系:
实现关系:implements
类实现接口的格式:
class 类名 implements 接口名 {
重写方法;
}
接口的使用:
1.定义类实现接口
2.重写抽象方法
3.创建实现类对象
03接口中的成员的特点
目标:学习掌握接口的成员特点
讲解:
小结:
接口的成员特点:
1.接口中的成员方法默认会添加:public abstract
2.接口中的成员变量默认会添加:public static final(常量)
课堂代码
public abstract class Demo03 {
int a;
public abstract void test01();
}
interface Abc {
// 2.接口中的成员变量会自动添加public static final(常量),常量命名规范:每个单词都大写,多个单词之间使用_连接
// ctrl + shift + u: 切换大小写
int a = 10;
public static final int STUDENT_COUNT = 10;
// 1.接口中的方法默认会添加public abstract
void test01();
public abstract void test02();
}
04接口多实现
目标:学习接口的多实现
讲解:
Java中类只能单继承,一个类只有一个父类
class 子类 extends 父类 {
}
Java中的类可以同时实现多个接口
class 类名 implements 接口1, 接口2 {
重写方法
}
小结:
类实现多个接口格式:
class 类名 implements 接口1, 接口2 {
重写方法
}
课堂代码
public class Demo04 {
public static void main(String[] args) {
Student s = new Student();
s.swimming();
s.smoking();
}
}
// 抽烟接口
public interface Smokeable {
public abstract void smoking();
}
// 游泳接口
public interface Swimmable {
public abstract void swimming();
}
public class Student implements Swimmable, Smokeable {
@Override
public void smoking() {
System.out.println("学生在厕所瑟瑟发抖的抽烟");
}
@Override
public void swimming() {
System.out.println("学生狗刨式游泳");
}
}
05接口多继承
了解
目标:学习接口多继承格式
讲解:
Java中类只能单继承
class 子类 extends 父类 {}
Java类可以实现多个接口
class 类名 implements 接口1, 接口2 {}
什么是接口多继承:
一个接口同时继承多个接口
接口多继承格式:
interface 接口名 extends 接口1, 接口2 {
}
小结:
接口多继承格式:
interface 接口名 extends 接口1, 接口2 {
}
Java中有多继承吗?
1.类只能单继承
2.接口可以多继承
课堂的代码
interface Father {
public abstract void makeMoney();
}
interface Mother {
public abstract void shopping();
}
// 一个接口继承多个接口
interface Child extends Father, Mother {
public abstract void lol();
}
class Son implements Child {
@Override
public void makeMoney() {
}
@Override
public void shopping() {
}
@Override
public void lol() {
}
}
public class Demo05 {
public static void main(String[] args) {
}
}
06接口_默认方法
目标:学习接口默认方法的使用
讲解:
JDK1.8以前
interface 接口名 {
抽象方法;
}
在JDK1.8以后接口新增了其他方法(了解)
interface 接口 {
默认方法; (JDK1.8)
静态方法; (JDK1.8)
私有方法; (JDK1.9)
}
默认方法的格式:
修饰符 default 返回值类型 方法名(参数列表) {
}
和普通方法相比: 在返回值类型前面添加default
接口_默认方法的使用:
1.实现类直接使用
2.实现类可以重写默认方法
小结:
接口_默认方法的使用:
1.实现类直接使用
2.实现类可以重写默认方法
课堂代码
public interface Swimmable {
// 默认方法
public default void swimming() {
System.out.println("我是接口默认的游泳方法");
}
}
// 1.实现类直接使用
public class Teacher implements Swimmable {
// 2.实现类可以重写默认方法
@Override
public void swimming() {
System.out.println("我是实现类重写的方法");
}
}
public class Demo06 {
public static void main(String[<