有没有会java编程的?

img


如上图所示,哪位编程人员可以帮忙写一下,怎么创建各种类?可以截图一下吗

其实题目已经描述的很清楚了:
父类 Phone
子类 SmartPhone 继承 Phone
测试类Test 包含 main() 方法

可以参考我的关于类和对象的技术博客 照猫画虎 链接如下:http://t.csdn.cn/RhEdt

写了一个小时,还望博友采纳!细节不同之处,博友简单改改即可。整体逻辑是没问题的!
1、电话本类

package cn.bdqn.demo10;

//电话本类
public class PhoneBox {
    //定义属性
    private String name;
    private String num;
    
    //添加有参构造
    public PhoneBox(String name, String num) {
        super();
        this.name = name;
        this.num = num;
    }

    //添加get/set方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }
    
}

2、一代电话类

package cn.bdqn.demo10;

import java.util.Scanner;

public class Phone {
    
    Scanner sc=new Scanner(System.in);
    //定义属性
    private String phoneNum;
    private PhoneBox phoneBox;    

    //添加get/set方法
    public String getPhoneNum() {
        return phoneNum;
    }

    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    public PhoneBox getPhoneBox() {
        return phoneBox;
    }

    public void setPhoneBox(PhoneBox phoneBox) {
        this.phoneBox = phoneBox;
    }

    /*添加功能*/
    //设置本机号码
    public void setNum(){
        System.out.print("设置本机号码:");
        String num=sc.next();
        this.setPhoneNum(num);
    }
    
    //读取本机号码
    public void getNum(){
        System.out.println("获取本机号码:"+this.getPhoneNum());
    }
    
    //向电话本新增联系人(姓名及电话)
    public PhoneBox[] phoneBoxs=new PhoneBox[1];
    public void addNumInfo(){
        System.out.println("新增联系人");
        System.out.print("姓名:");
        String addName=sc.next();
        System.out.print("电话:");
        String addNum=sc.next();
        
        phoneBoxs[0]=new PhoneBox(addName, addNum);
    }
    
    //查询联系人电话
    public String searchNum(){
        System.out.println("请输入查询的联系人姓名:");
        String currentName=sc.next();
        String currentNum=null;
        if(currentName.equals(phoneBoxs[0].getName())){
            currentNum=phoneBoxs[0].getNum();
        }else{
            System.out.println("您查询的联系人不存在或号码未添加!");
        }
        return currentNum;
    }
    
    //拨打电话
    boolean isCall=false;
    public void dialNumber(){
        String num=searchNum();
        if(num!=null){
            System.out.println("正在为您拨通"+num);
            isCall=true;
        }
    }
    
    //挂断电话
    public void hangUp(){
        if(isCall){
            System.out.println("为您挂断"+phoneBoxs[0].getNum());
        }
    }
}

3、二代电话类

package cn.bdqn.demo10;

public class SmartPhone extends Phone {

    //拍照功能
    public void takePhoto(){
        System.out.println("摆好POSE,咔嚓......");
    }
}

4、测试类

package cn.bdqn.demo10;

public class Test {

    public static void main(String[] args) {
        
        Phone phone=new SmartPhone();
        SmartPhone sp=(SmartPhone)phone;
        
        sp.setNum();
        sp.addNumInfo();
        sp.dialNumber();
        sp.hangUp();
        sp.takePhoto();
        
    }

}

测试效果:

img