• 2022-06-06
    1. 定义一个学生类Student,包含 属性:学号、姓名 方法: (1)类Student带参数的构造方法,在构造方法中通过形参完成对成员变量的赋值操作。 (2)重写父类(Object)的equals()方法,根据学号判断对象是否相同,若学号相同,则结果为true,否则结果为false。 编写一个测试类StudentTest,创建2个对象,判断他们是否相同。 2. 定义类Person及其子类Employee,Employee的子类Manager,每个类定义下列成员变量。 Person类:姓名、年龄 Employee类:工号、工资 Manager类:职务名称 每个类定义构造方法初始化所有变量:重写toString()方法输出所有成员变量值; 定义测试类PloyTest,创建这些类的对象,调用toString()方法进行测试。
  • 第1题答案: public class Student { String studentid; String name; public Student(String id, String name) { this.studentid = id; this.name = name; } [br][/br] public boolean equals(Object obj) { String id =((Student)obj).studentid; if(this.studentid == id){ return true; } else{ return false; } } } public class StudentTest { public static void main(String[] args) { // TODO Auto-generated method stub Student s1 = new Student("19001","xiaofang"); Student s2 = new Student("19002","xiaowang"); Student s3 = new Student("19001","小芳"); if(s1.equals(s2)) System.out.println("s1和s2的学号相同,是同一个对象"); else System.out.println("s1和s2的学号不相同,不是同一个对象"); if(s1.equals(s3)) System.out.println("s1和s3的学号相同,是同一个对象"); else System.out.println("s1和s3的学号不相同,不是同一个对象"); if(s2.equals(s3)) System.out.println("s2和s3的学号相同,是同一个对象"); else System.out.println("s2和s3的学号不相同,不是同一个对象"); } } 第2题答案: public class Person { String name; int age; public Person(String name, int age) { super(); this.name = name; this.age = age; } public String toString() { // TODO Auto-generated method stub return "姓名:"+this.name+",年龄:"+this.age; } } public class Employee extends Person { String epid; double salary; public Employee(String name, int age, String epid, double salary) { super(name, age); this.epid = epid; this.salary = salary; } public String toString() { // TODO Auto-generated method stub return super.toString()+",工号:"+this.epid+",工资:"+this.salary; } } public class Manager extends Employee { String job; public Manager(String name, int age, String epid, double salary, String job) { super(name, age, epid, salary); this.job = job; } public String toString() { // TODO Auto-generated method stub return super.toString()+",职务:"+this.job; } } public class PolyTest { public static void main(String[] args) { Person p1 = new Person("xiaoLi",18); Employee e1 = new Employee("xiaoMing",20,"00986",4000); Manager m1 = new Manager("laoWang",30,"00345",15000,"项目经理"); System.out.println(p1); System.out.println(e1); System.out.println(m1); } }

    举一反三

    内容

    • 0

      定义一个学生类Student,描述学生的学号、姓名、成绩属性。定义一个有参构造方法用于创建对象,定义一个方法用于判断学生是否需要补考,返回布尔值。 再定义一个主类,在该类的主方法中使用构造方法创建1个学生对象,给对象的各个成员变量赋值,并调用它的方法,输出该学生是否需要补考。

    • 1

      义一个动物Animal类,包括动物类型type成员变量,一个叫声sound()方法,定义一个Animal类的子类Dog类,重写sound()方法;再定义一个Animal类的子类Cat类,重写sound()方法;定义测试TestAnimal类,声明创建Animal类对象,再分别创建一个Dog类、Cat类的对象,然后通过访问Animal对象来访问Dog、Cat类对象的sound()方法。

    • 2

      编写Java应用程序封装一个Student类的对象,其中定义一个表示学生的类Student,包括变量:学号、姓名、性别、年龄;方法:获得学号、获得姓名、获得性别、获得年龄、修改年龄。另外一个方法:public String toString()把Student类对象的所有属性信息组合成一个字符串。

    • 3

      (垃圾回收)编程验证垃圾回收方法System.gc()的功能: (1)定义一个Person类,在Person类中定义一个成员变量name,在Person类中定义一个publicvoidfinalize(){}方法,该方法输出对象的name属性值,并提示该对象被回收; (2)定义一个测试类,创建Person对象,为其name属性初始化,并将其变为垃圾对象,通过调用System.gc()方法来回收垃圾。

    • 4

      定义一个学生类(Student)和一个学生测试类(StudentTest),具体要求如下:(1)Student类包含4个私有属性: sno(学号,字符串类型),name(姓名,字符串类型),sex(性别,字符串类型),age(年龄,整数类型);(2分)(2)编写Student类的无参数构造方法和包括所有属性的构造方法;(2分)(3)编写所有属性的Getters和Setters方法;(4分)(4) 编写学生测试类StudentTest,构建一个学生对象,并输出以下信息 “学号:2021001,姓名:张三,性别:男,年龄:20”到控制台。(2分)