Java继承 实现多个接口学习

文章目录

  • 任务一、创建笔记本电脑类(继承一个类,实现多个接口)
    • (一)编程实现
      • 1、创建接口
      • 2、创建USB接口
      • 3、创建computer抽象类
      • 4、创建笔记本电脑类
      • 5、创建笔记本电脑测试类
      • 6、运行结果
    • (二)知识点讲解

任务一、创建笔记本电脑类(继承一个类,实现多个接口)

  • 创建接口和USB接口,创建Computer抽象类,然后继承Computer类,实现接口和USB接口,创建笔记本计算机类Laptop。
  • Java简化了C++的多重继承,是单根继承,只能继承一个类,但是作为补偿,Java允许实现多个接口,让一个类可以实现更多的特性。
  • 继承一个类,实现多个接口,就好比是只有一个父亲,可以有多个叔叔。

(一)编程实现

1、创建接口

Java继承 实现多个接口学习_第1张图片

package next.Z;

/**
 * 功能:网卡接口
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public interface Netcard {
    void connectNetwork(); //抽象方法,默认是public权限
    default void speak(){ //缺省方法
        System.out.println("网卡用于连接网络……");
    }
    static void tell(){ //静态方法
        System.out.println("我是一张网卡……");
    }
}

2、创建USB接口

Java继承 实现多个接口学习_第2张图片

package next.Z;

/**
 * 功能:USB接口
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public interface USB {
    String TYPE = "3.0"; //接口里面只能定义常量
    void connectUSB(); //抽象方法
}

3、创建computer抽象类

Java继承 实现多个接口学习_第3张图片

package next.Z;

/**
 * 功能:电脑抽象类
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public abstract class Computer {
    public abstract void compute(); //抽象方法,要带访问权限
    public abstract void compute(String item); //重载的抽象方法,
}

4、创建笔记本电脑类

Java继承 实现多个接口学习_第4张图片

package next.Z;

/**
 * 功能:笔记本计电脑类
 * 作者:向兴桥
 * 日期:2022-4-28
 */
public class Laptop extends  Computer implements Netcard,USB{

    private String name;

    private String getName(){
        return name;
    }

    public  void setName(String name){
        this.name = name;
    }
    @Override
    public void compute() {
        System.out.println("笔记本电脑["+ name +"]正在计算中……");
    }

    @Override
    public void compute(String item) {
        System.out.println("笔记本电脑["+ name +"]正在计算中["+ item +"]");
    }

    @Override
    public void connectNetwork() {
        System.out.println("笔记本电脑["+ name +"]正在连接网络……");
    }

    @Override
    public void connectUSB() {
        System.out.println("笔记本电脑["+ name +"]正在连接USB接口……");
    }
}

  • 此时,查看类的层次结构图 Ctrl+H
    Java继承 实现多个接口学习_第5张图片
  • 查看类图
    Java继承 实现多个接口学习_第6张图片

5、创建笔记本电脑测试类

Java继承 实现多个接口学习_第7张图片

package next.Z;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * 功能:测试笔记本电脑类
 * 作者:向兴桥
 * 日期:20222-4-28
 */
public class TestLaptop {
    public static void main(String[] args) throws IOException {
        String name,item;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("笔记本电脑: ");
        name = br.readLine();
        System.out.print("计算的项目名: ");
        item = br.readLine();
        //创建对象
        Laptop laptop = new Laptop();
        //设置对象属性
        laptop.setName(name);
        //调用对象方法
        laptop.connectUSB();
        laptop.connectNetwork();
        laptop.compute();
        laptop.compute(item);
    }
}

6、运行结果

Java继承 实现多个接口学习_第8张图片

(二)知识点讲解

Java继承 实现多个接口学习_第9张图片

你可能感兴趣的:(java)