/*
手机类:第一代功能:
1.打电话:键盘输入手机号码
2.接电话,显示来电号码,铃声提示
第二代功能:
1.打电话:键盘输入手机号码
2.接电话,显示来电号码,显示归属地,彩铃提示
*/
import java.util.Scanner;
//第一代手机的功能
class PhoneOne{
//私有化参数callNumber
private int callnumber;
int number;
//PhoneoOne(){}
//构造函数对变量进行初始化赋值,与set不同。set可以被对象调用,构造函数在new的时候只初始化一次,不能被对象调用
//构造函数传几个参数,在new的时候传几个参数
//构造函数继承时使用super
PhoneOne(int callnumber,int number){
this.callnumber = callnumber;
this.number = number;
}
//对参数赋值
public void setCallNumber(int callnumber){
this.callnumber = callnumber;
}
//对外提供参数
public int getCallNumber(int callnumber){
return callnumber;
}
//打电话
public void callPhone(){
System.out.println("您拨打的电话是:"+callnumber);
}
public void acceptPhone(){
System.out.println("接电话");
System.out.println("显示来电号码");
System.out.println("铃声提示");
}
}
//对一代手机进行继承
class PhoneTwo extends PhoneOne {
//因为父类有构造器,子类也要有构造器
PhoneTwo(int callnumber,int number){
//调用父类构造器
super(callnumber,number);
this.number = number;
}
public void acceptPhone(){
在子类方法中通过 super 显式调用父类被覆盖的实例方法
super.acceptPhone();
System.out.println("显示归属地");
System.out.println("彩铃提示");
}
}
public class PhoneDome {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要拨打的电话:");
int callnumber = sc.nextInt();
Scanner sc1 = new Scanner(System.in);
int number = sc.nextInt();
//获取的string 转换为int
//int callnumber = Integer.parseInt(number);
//构造函数传几个参数,调用时也要传几个参数
PhoneOne p = new PhoneOne(callnumber,number);
p.setCallNumber(callnumber);
p.callPhone();
p.acceptPhone();
PhoneOne q = new PhoneTwo(callnumber,number);
q.setCallNumber(callnumber);
q.callPhone();
q.acceptPhone();
}
}
继承(继承父类,super)
最新推荐文章于 2023-04-23 08:50:32 发布