继承+super+final的例子

继承+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发送成功");
	}
	
 
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值