JAVA项目任务-创建笔记本电脑类(面向对象编程)

JAVA项目任务-创建笔记本电脑类(面向对象编程),第1张

文章目录
    • 项目任务:创建笔记本电脑类
      • 编程实施
        • 1.创建NetCard接口
        • 2.创建USB接口
        • 3.创建Computer抽象类
        • 4.创建笔记本电脑类 - Laptop
        • 5.创建笔记本电脑测试类
      • 知识点:抽象类的匿名子类

项目任务:创建笔记本电脑类
  • 继承一个类,实现多个接口
编程实施 1.创建NetCard接口
  • 在包里创建NetCard接口

  • 编写NetCard接口代码
package p07;

/**
 * 功能:网卡接口
 * 日期:2022年05月05日
 */
public interface NetCard {
     void connectNetwork(); // 抽象方法,默认是public权限

    default void speak() { // 缺省方法(从JDK8开始)
        System.out.println("网卡用于连接网络....");
    }
    static void tell() { // 静态方法(从JDK8开始)
        System.out.println("我是一张网卡");
    }
}

2.创建USB接口
  • 在包里创建USB接口(与创建NetCard接口方法一样)
  • 编写代码
package p07;

/**
 * 功能:USB接口(Universal)
 * 日期:2022年05月05日
 */
public interface USB {
    String TYPE = "0.3"; //  接口只能定义常量
    void connectUSB();  // 抽象方法
}

3.创建Computer抽象类
package p07;

/**
 * 功能:计算机抽象类
 * 日期:2022年05月05日
 */
public abstract class Computer {
    public abstract void compute(); // 抽象方法,要带访问权限,必须要有abstract关键字
    public abstract void compute(String item); // 重载(Overload)的抽象方法

    public void speak() { // 普通方法
        System.out.println("我是一台计算机....");
    }
}

4.创建笔记本电脑类 - Laptop
  • Laptop继承Computer抽象类,实现NetCard和USB接口

  • 代码编写

package p07;

/**
 * 功能:笔记本电脑类
 * 日期:2022年05月05日
 */
public class Laptop extends Computer implements NetCard,USB{
    private String name;

    public 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接口....");
    }
}

5.创建笔记本电脑测试类
package p07;

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

/**
 * 功能:测试笔记本电脑类
 * 日期:2022年05月05日
 */
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.connectUSB();
        laptop.connectNetwork();
        laptop.compute();
        laptop.compute(item);

    }
}

  • 运行结果
知识点:抽象类的匿名子类
package p07;

/**
 * 功能:知识点
 * 日期:2022年05月05日
 */
public class PeyPoints {
    public static void main(String[] args){
        // 抽象类不能实例化
//        Computer computer = new Computer();
        // 使用抽象类的匿名子类
        Computer computer = new Computer() {

            private String type ="笔记本电脑";
            private String name ="联想拯救者Y9000P 2022";

            @Override
            public void compute() {
                System.out.println(type+"["+name+"]正在计算中.....");
            }

            @Override
            public void compute(String item) {
                System.out.println(type+"["+name+"]正在计算["+item+"]。");
            }
        };
        // 调用对象方法
        computer.compute();
        computer.compute("2022年学费");
    }
}

  • 运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/874447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存