博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019-2-18 接口作业
阅读量:7011 次
发布时间:2019-06-28

本文共 5271 字,大约阅读时间需要 17 分钟。

第一题:接口实现普通手机和智能手机部分功能

父类手机类:

package com.handset;/* * 父类手机类 */public  abstract class Handset {    String  brand;  // 手机型号    String  type;  //  手机品牌    public String getBrand() {        return brand;    }    public void setBrand(String brand) {        this.brand = brand;    }    public String getType() {        return type;    }    public void setType(String type) {        this.type = type;    }        public abstract void  faxx();   //  发信息方法    public abstract void tdh();     //  通电话方法}
package com.handset;/* *播放功能 */public interface bofang {    public void bf();}
package com.handset;/* * 连接网络功能 */public interface shangwang {    public void sw();}
package com.handset;/* * 照相功能 */public interface zhaoxiang {    public void paizhao();}

 

智能手机类继承父类手机:

package com.handset;/* * 智能手机类 */public class AptotudeHandset extends Handset implements zhaoxiang, shangwang, bofang {    @Override    public void bf() {        // TODO Auto-generated method stub        System.out.println("开始播放音乐《》");    }    @Override    public void sw() {        System.out.println("连接4G网络");    }    @Override    public void paizhao() {        // TODO Auto-generated method stub        System.out.println("拍照成功");    }    @Override    public void faxx() {        // TODO Auto-generated method stub        System.out.println("发送彩色短信");    }    @Override    public void tdh() {        // TODO Auto-generated method stub        System.out.println("开启视频通话");    }        public AptotudeHandset(String  brand,String  type) {        this.brand=brand;        this.type=type;    }    public AptotudeHandset() {}}

普通手机类继承父类手机类:

package com.handset;/* * 普通手机类 */public class CommonHandset extends Handset implements bofang {    @Override    public void bf() {        System.out.println("播放音乐!");    }    @Override    public void faxx() {        System.out.println("发了条短信");            }    @Override    public void tdh() {        // TODO Auto-generated method stub        System.out.println("开始通话");    }    public CommonHandset(String  brand,String  type) {        this.brand=brand;        this.type=type;    }    public CommonHandset() {}}
package com.handset;/* * 测试类 */public class Test {    public static void main(String[] args) {        AptotudeHandset  sj1 = new AptotudeHandset("6s","苹果");        CommonHandset  sj2 = new CommonHandset("老人机","诺基亚");        System.out.println("这是一台"+sj1.type+"手机"+"型号是"+sj1.brand);        sj1.sw();        sj1.bf();        sj1.paizhao();        sj1.faxx();        sj1.tdh();        System.out.println("________________________________");        System.out.println("这是一台"+sj2.type+"手机"+"型号是"+sj2.brand);        sj2.bf();        sj2.faxx();        sj2.tdh();            }}

输出结果图:

第二题:

package com.computer;/* * CPU接口 */public interface CPU {    public String pp();    public String zp();    }
package com.computer;/* * Ems接口 */public interface Ems {    public String Ems();}
package com.computer;/* * HardDisk 接口 */public interface HardDisk {    public String hard();}
package com.computer;/* *创建CpuPp类继承CPU接口 */public class CpuPp implements CPU {    public String pp() {        return"CPU的品牌是Intel";    }    public String zp() {        return "主频是3.8GHz";    }}
package com.computer;/* * 创建Emss类继承Ems接口 */public class Emss implements Ems {    public String Ems() {        return "3000GB";    }}
package com.computer;/* * 创建HardDisks类继承HardDisk接口 */public class HardDisks implements HardDisk {    public String hard() {        return"8G";    }}
package com.computer;/* * 计算机类 */public class Computer{    private CPU CpuPp;   //  CPU接口作为类型创建属性    private Ems Emss;     //   Ems接口作为类型创建属性    private HardDisk HD;  //  HardDisk接口作为类型创建属性    /**     * 组装电脑方法     */    public void zhuzhang() {        System.out.println("计算机的信息如下");        System.out.println(CpuPp.pp()+CpuPp.zp());        System.out.println("硬盘的容量是"+Emss.Ems());        System.out.println("内存的容量是:"+HD.hard());    }    public CPU getCpuPp() {        return CpuPp;    }    public void setCpuPp(CPU cpuPp) {        CpuPp = cpuPp;    }    public Ems getEmss() {        return Emss;    }    public void setEmss(Ems emss) {        Emss = emss;    }    public HardDisk getHD() {        return HD;    }    public void setHD(HardDisk hD) {        HD = hD;    }    }
package com.computer;/* * 测试类 */public class Test {    public static void main(String[] args) {        /**         * 创建计算机对象         */        Computer  co  = new Computer();        /**         * 多态创建CpuPp对象         */        CPU cpu = new CpuPp();        /**         * 多态创建Ems对象         */        Ems em = new Emss();        /**         * 多态创建HardDisk对象         */        HardDisk hd = new HardDisks();                //给属性CpuPp 赋值        不赋值的话会出现空值异常        co.setCpuPp(cpu);        //给Emss属性 赋值        不赋值的话会出现空值异常        co.setEmss(em);        //给HD属性 赋值        不赋值的话会出现空值异常        co.setHD(hd);        //调用计算机组装方法        co.zhuzhang();    }}

输出结果图:

 

代码下载地址:

链接:https://pan.baidu.com/s/1uAt4PDgIb-DYYrST3H4D2Q

提取码:wqrd

 

 

 

课堂笔记:

接口语法:

has-a
有什么功能的时候就使用接口
public interface 接口名{}
使用接口语法:
public 类名 implements 接口名{}

接口除了成员变量和抽象方法不能有其他的

抽象类和接口的特点:

相同点:抽象类和接口都不能被实列化对象
抽象类和接口都可以有抽象方法
子类必须重写其所有的抽象方法,除非其子类也是抽象类
不同点:抽象类中可以有普通方法,接口只能有抽象方法(JDK1.8 之前)
抽象类中可以有普通成员变量,接口中只能有静态常量
抽象类只能被单继承,接口可以被多实现,

转载于:https://www.cnblogs.com/cxlbzdcom/p/10395782.html

你可能感兴趣的文章
Python协程深入理解
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
[转] 从HTTP状态 301,302,200 来看页面跳转
查看>>
遍历Dictionary<K,V>的两种方式
查看>>
【原】Unity3d 类似Dota血条
查看>>
Spring.NET 1.3.2 集成 NHibernate 3.2 - 5 - 事务管理
查看>>
POJ 2771 Guardian of Decency(二分匹配,最大独立集)
查看>>
控制反转IOC与依赖注入DI
查看>>
sqlserver 数据库订阅报错 22202 14058
查看>>
poj 2007 Scrambled Polygon(凸多边形顶点输出)
查看>>
BusinessUnit, User, Role 中常用的APIs
查看>>
AssetBundle 在Android机子上进行读取 .
查看>>
OpenGL路(四)自制的图形功能(立方体、汽缸、圆锥)
查看>>
19.最经济app发短信的方法
查看>>
ASP.NET web.config中<customErrors>节点说明
查看>>
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <五> NSDicionary + NSMutableDictionary...
查看>>
jquery选择器 之 获取父级元素,子元素,同级元素
查看>>
Ajax注册表单用户名实时验证
查看>>
python使用正則表達式
查看>>
java遍历hashTable
查看>>