java的第十一天

01接口的概述目标:学习接口的概念讲解:Java中引用数据类型有3种: 数组,类,接口class 类名 { 成员变量 成员方法/抽象方法}插座国标规范.每个厂家生成的插座都需要符合国标规范国标规范就是接口,厂家生成的插座就是接口的实现类1.1 接口概述​ 接口也是一种数据类型,接口是比抽象类还抽象的类,接口中全是抽象方法.接口体现的是规范1.2定义格式(重点)...
摘要由CSDN通过智能技术生成

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[<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值