1、创建NetCard接口
public interface NetCard {
void connectNetwork(); // 抽象方法,默认是public权限
default void speak() { // 缺省方法(从JDK8开始)
System.out.println("网卡用于连接网络……");
}
static void tell() { // 静态方法(从JDK8开始)
System.out.println("我是一张网卡……");
}
}
2、创建USB接口
public interface USB {
String TYPE = "3.0"; // 接口只能定义常量
void connectUSB(); // 抽象方法
}
3、创建Computer抽象类
public abstract class Computer {
public abstract void compute(); // 抽象方法,必须要有abstract关键字
public abstract void compute(String item); // 重载(Overload)的抽象方法
public void speak() { // 普通方法
System.out.println("我是一台计算机……");
}
}
4、创建笔记本电脑类 - Laptop
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、创建笔记本电脑测试类
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.speak();
laptop.connectUSB();
laptop.connectNetwork();
laptop.compute();
laptop.compute(item);
}
}
结果: