/*
手机类:第一代功能:
1.打电话:键盘输入手机号码
2.接电话,显示来电号码,铃声提示第二代功能:
1.打电话:键盘输入手机号码
2.接电话,显示来电号码,显示归属地,彩铃提示*/
import java.util.Scanner;//第一代手机的功能
class PhoneOne{//私有化参数callNumberprivate int callnumber;int number;//PhoneoOne(){}//构造函数对变量进行初始化赋值,与set不同。set可以被对象调用,构造函数在new的时候只初始化一次,不能被对象调用//构造函数传几个参数,在new的时候传几个参数//构造函数继承时使用superPhoneOne(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();}
}