任务一、创建笔记本电脑类(继承一个类,实现多个接口)
- 创建接口和USB接口,创建Computer抽象类,然后继承Computer类,实现接口和USB接口,创建笔记本计算机类Laptop。
- Java简化了C++的多重继承,是单根继承,只能继承一个类,但是作为补偿,Java允许实现多个接口,让一个类可以实现更多的特性。
- 继承一个类,实现多个接口,就好比是只有一个父亲,可以有多个叔叔。
(一)编程实现
1、创建接口
package next.Z;
public interface Netcard {
void connectNetwork();
default void speak(){
System.out.println("网卡用于连接网络……");
}
static void tell(){
System.out.println("我是一张网卡……");
}
}
2、创建USB接口
package next.Z;
public interface USB {
String TYPE = "3.0";
void connectUSB();
}
3、创建computer抽象类
package next.Z;
public abstract class Computer {
public abstract void compute();
public abstract void compute(String item);
}
4、创建笔记本电脑类
package next.Z;
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
- 查看类图
5、创建笔记本电脑测试类
package next.Z;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
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、运行结果
(二)知识点讲解
|