您的位置:首页 > 其它

继承+super+final的例子

2016-06-03 19:37 239 查看
继承+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) {
//使用手机发短信-失败-使用imessage
if(!super.sendMessage(num)){
this.imessage(num);
}
return true;
}

private void imessage(String num) {
System.out.println("imessage发送成功");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: