- 项目任务:创建笔记本电脑类
- 编程实施
- 1.创建NetCard接口
- 2.创建USB接口
- 3.创建Computer抽象类
- 4.创建笔记本电脑类 - Laptop
- 5.创建笔记本电脑测试类
- 知识点:抽象类的匿名子类
- 继承一个类,实现多个接口
- 在包里创建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年学费");
}
}
- 运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)