继承+super+final的例子

来源:互联网 发布:单片机智能车 编辑:程序博客网 时间:2024/06/06 07:21

继承+super+final的例子

设计类:
手机:   
     数据:屏幕尺寸,型号名   
     功能:打电话,发短信
安卓手机
   
  数据:处理器,屏幕尺寸,型号名   
     功能:打电话,发短信,root系统
苹果手机
     数据:处理器,屏幕尺寸   ,型号名
     功能:打电话,发短信,指纹识别,imessage(其他类不能访问)
需求:
    a)要求安卓手机,苹果手机都能使用到手机里的提供的数据和功能
    b)并且苹果手机在使用发短信的功能的时候,优先使用手机的发短信,如果发送不了,则使用imessage发送短信。
    c)要求在创建苹果手机的时候,可以初始化处理器信息,也可以初始化处理器加屏幕尺寸信息。
    d)要求每个手机的屏幕尺寸一旦确定就不能再更改
    e) 手机的打电话功能已经完善不能覆盖(重写)这个功能
    f)苹果手机的类已经完善不允许其他类继承。
 

public class Test3 {public static void main(String[] args) {Phone c1=new AndroidPhone();c1.callPhone();c1.sendMessage("11");Phone c2=new Applephone2("intel",5);c2.callPhone();c2.sendMessage("11");}}class Phone{String name;final double size;public Phone(){this.size=5;}public Phone(double size){super();if(size>=4&&size<=7){this.size=size;}else{this.size=5;System.out.println("尺寸不正确");}}public final void callPhone(){System.out.println("手机可以打电话");}public boolean sendMessage(String num){int len=num==null?0:num.length();if(len==11){System.out.println("使用手机短信发送成功");return true;}return false;}}class AndroidPhone extends Phone{ String cpu; public void Root(){ System.out.println("安卓手机可以root系统"); }  }final class Applephone2 extends Phone{String cpu;public Applephone2(String cpu) {super();this.cpu = cpu;}public Applephone2(String cpu,double size) {super(size);//使用Phone(double size) 进行初始化this.cpu = cpu;}public boolean sendMessage(String num) {//使用手机发短信-失败-使用imessageif(!super.sendMessage(num)){this.imessage(num);}return true;}private void imessage(String num) {System.out.println("imessage发送成功");}  }


0 0
原创粉丝点击