Java代码(匿名内部类的使用二)

需求说明:原始的手机,可以发短信,通电话。随着发展,手机增加了音频、视频播放、拍照、上网功能。按照下面的类图进行程序设计:首先,编写类及接口,参照以下类的结构图;其次,编写测试类,让普通手机播放音频、发信息和通电话,让智能手机上网、播放视频、照相、发彩信和视频通电话。
在这里插入图片描述

//手机类

import com.homework.two2.TheftproofDoor;

public abstract class Handset {

//功能接口属性
private TheakePicture theakePicture;
private Network network;
private PlayWiring playWiring;

//普通属性
private String type;
private String brand;

//抽象方法
public abstract void sendInfo();
public abstract void call();

//info方法
public void info(){
    System.out.println("这是一款型号为:"+type+"的"+brand+"手机");
}

//封装setter,getter


public TheakePicture getTheakePicture() {
    return theakePicture;
}

public void setTheakePicture(TheakePicture theakePicture) {
    this.theakePicture = theakePicture;
}

public Network getNetwork() {
    return network;
}

public void setNetwork(Network network) {
    this.network = network;
}

public PlayWiring getPlayWiring() {
    return playWiring;
}

public void setPalyWiring(PlayWiring playWiring) {
    this.palyWiring = palyWiring;
}

public String getType() {
    return type;
}

public void setType(String type) {
    this.type = type;
}

public String getBrand() {
    return brand;
}

public void setBrand(String brand) {
    this.brand = brand;
}

}

//测试类

public class TestSendset {
public static void main(String[] args) {

    //1.1构造普通手机
    Handset h = new Handset() {
        @Override
        public void sendInfo() {
            System.out.println("文字信息!");
        }

        @Override
        public void call() {
            System.out.println("语言通话!");
        }
    };

    //1.2属性赋值
    h.setPlayWiring(new PlayWiring() {
        @Override
        public void play(String music) {
            System.out.println("播放音乐"+music);
        }
    });

    h.setBrand("索尼");
    h.setType("G502C");

    //1.3测试输出
    h.info();
    h.getPlayWiring().play("热雪");
    h.sendInfo();
    h.call();

    //2.1智能手机
    h=new Handset() {
        @Override
        public void sendInfo() {
            System.out.println("图片和文字信息");
        }

        @Override
        public void call() {
            System.out.println("视频通话");
        }
    };

    //2.2属性赋值
    h.setNetwork(new Network() {
        @Override
        public void networkConn() {
            System.out.println("连上5G网络");
        }
    });

    h.setPalyWiring(new PlayWiring() {
        @Override
        public void play(String content) {
            System.out.println("正在播放视频"+content);
        }
    });

    h.setTheakePicture(new TheakePicture() {
        @Override
        public void takePictare() {
            System.out.println("正在拍照");
        }
    });
    h.setBrand("T9100");
    h.setType("HIC");

    //1.3测试输出
    h.info();
    h.getNetwork().networkConn();
    h.getPalyWiring().play("小时代");
    h.sendInfo();
    h.call();
}

}

//接口Network

public interface Network {
void networkConn();
}

//接口PlayWiring

public interface PlayWiring {
void play(String content);//传一个内容参数
}

//接口TheakePicture

public interface TheakePicture {
void takePictare();
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值