java写抽象类和接口练习

使用抽象概念定义电话的继承体系

(1)定义抽象类电话 Phone:包含抽象方法

void sendCall(String name) ; 打电话

void getCall(String name); 接电话

(2)定义上网设备接口 Net

包含抽象方法 getInterNet();

(3)定义用电设备接口 Elec

包含抽象方法 on(); off();

(4) 定义手机类Mobilephone,能打电话接电话发短信还能上网以及能开机关机。

(5) 定义电脑类Computer,能开机关机能上网

(6) 在测试类中测试手机与电脑的功能。

参考如下:


public class Main {

    public static void main(String[] args) {
        Mobilephone mobilephone = new Mobilephone();
        mobilephone.on();
        mobilephone.getInterNet();
        mobilephone.sendCall("Tom");
        mobilephone.getCall("Joy");
        mobilephone.off();

        System.out.println();
        Computer computer = new Computer();
        computer.on();
        computer.getInterNet();
        computer.off();
    }
}
/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */
public abstract class Phone {

    abstract void sendCall(String name);

    abstract void getCall(String name);
}
/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */
public interface Elec {

    void on();

    void off();
}
/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */
public interface Net {

    void getInterNet();
}
/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */
public class Mobilephone extends Phone implements Net, Elec{

    @Override
    public void getInterNet() {
        System.out.println("手机上网!");
    }

    @Override
    void sendCall(String name) {
        System.out.println("手机打电话给" + name);
    }

    @Override
    void getCall(String name) {
        System.out.println("手机从" + name + "接电话");
    }

    @Override
    public void on() {
        System.out.println("手机开机!");
    }

    @Override
    public void off() {
        System.out.println("手机关机!");
    }
}
/**
 * @author huazie
 * @version 2.0.0
 * @since 2.0.0
 */
public class Computer implements Elec, Net {
    @Override
    public void on() {
        System.out.println("电脑开机!");
    }

    @Override
    public void off() {
        System.out.println("电脑关机!");
    }

    @Override
    public void getInterNet() {
        System.out.println("电脑上网!");
    }
}