类和子类的简单实现

本文介绍了如何使用Java实现一个Person类及其两个子类Student和Employee。每个类包含姓名和电话号码属性,Student类增加了年级属性,Employee类增加了工资属性。所有类都实现了toString方法以展示对象信息,并通过测试类创建对象进行展示。
摘要由CSDN通过智能技术生成

类和子类的简单实现

1、问题描述:

  1. 设计一个名为 Person 的类和它的两个名为 StudentEmployee 的子类。 每个人都有姓名和电话号码,学生类有年级状态(大一、大二、大三或大四),员工有工资。重写每个类中的 toString 方法,显示该类的所有属性。面积。

2、实现思路:

  1. 创建 Person 类 ,为其添加姓名(name)、电话号码(phone)这两个属性,这两个属性皆为 String 类型,分别为每个属性添加对应的 get 和 set 方法。
  2. 创建学生类 Student 并使其继承于 Person 类,为其添加 String 类型的年级(grade)属性,并为该属性添加 get 和 set 方法。
  3. 创建员工类 Employee 并使其继承于 Person 类,为其添加 double 类型的工资(salary)属性。为每个属性添加 get 和 set 方法。
  4. 为每个类添加一个无参构造方法和一个带有全部属性的构造方法。
  5. 为每个类重写 toString 方法,显示该类的所有属性。
  6. 创建测试类 Test 并创建每个类的对象,对象信息参照「挑战提示」中的表格,打印显示每个对象的 toString 方法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hm2PKunx-1622435980464)(https://dn-simplecloud.shiyanlou.com/courses/uid1509696-20210531-1622435839952)]

3、实现代码:

package org.lanqiao.entity;

public class Person {
    private String name;
    private String phone;

    public String getName() {
        return name;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String toString() {
        return "Person{name="+getName()+",phone=" +getPhone()+"}";
    }

    public Person(String name, String phone) {
        this.name = name;
        this.phone = phone;
    }

    public Person() {
    }
}
package org.lanqiao.entity;

public class Student extends Person{
    private String grade;

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }
    public String toString() {
        return "Student{name="+getName()+",phone=" +getPhone()+", grade="+this.grade+"}";
    }

    public Student(String name, String phone, String grade) {
        super(name, phone);
        this.grade = grade;
    }

    public Student(String grade) {
        this.grade = grade;
    }
    public Student(){
        super();
    }
}
package org.lanqiao.entity;

public class Employee extends Person {
    private double salary;

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
    public String toString() {
        return "Employee{name="+getName()+",phone=" +getPhone()+", salary="+this.salary+"}";
    }

    public Employee(String name, String phone, double salary) {
        super(name, phone);
        this.salary = salary;
    }

    public Employee(double salary) {
        this.salary = salary;
    }
    public Employee(){
        super();
    }
}
package org.lanqiao.test;

import org.lanqiao.entity.*;
public class Test {
    public static void main(String[] args){
        Person person=new Person("小蓝","16655557777");
        Student student=new Student("小红","15588885555","大一");
        Employee employee=new Employee("小白","17676765656",4000);
        System.out.println(person.toString());
        System.out.println(student.toString());
        System.out.println(employee.toString());
    }
}

4、运行结果:

建包的截图:在这里插入图片描述

图片描述

5、遇到的问题及解决方法:

未添加包名的时候,系统会不识别。

添加相应的包名后,VScode莫名的报错

在从新试了一下之后就没问题了

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值