java第三十课 —— 面向对象练习题

面向对象编程练习题

第一题

定义一个 Person 类 {name, age, job},初始化 Person 对象数组,有 3 个 person 对象,并按照 age 从大到小进行排序,提示,使用冒泡排序。

package com.hspedu.homework;

import java.util.SortedMap;

public class Homework01 {
   
   
    public static void main(String[] args) {
   
   

        Person[] persons = new Person[3];
        persons[0] = new Person("Tom", 20, "student");
        persons[1] = new Person("Jack", 18, "worker");
        persons[2] = new Person("Smith", 19, "singer");
        //输出当前对象数组
        System.out.println("当前对象数组:");
        for(int i = 0; i < persons.length; i++){
   
   
            System.out.println(persons[i]);
        }
        //使用冒泡排序
        for(int i = 0; i < persons.length - 1; i++){
   
   
            for(int j = 0; j <persons.length - i - 1; j++){
   
   
                if(persons[j].getAge() < persons[j + 1].getAge()){
   
   
                    Person temp = persons[j];
                    persons[j] = persons[j + 1];
                    persons[j + 1] = temp;
                }
            }
        }
        System.out.println("对象数组按照年龄(从大到小)排序后:");
        for(int i = 0; i < persons.length; i++){
   
   
            System.out.println(persons[i]);
        }
    }
}
class Person{
   
   
    private String name;
    private int age;
    private String job;

    public Person(String name, int age, String job) {
   
   
        this.name = name;
        this.age = age;
        this.job = job;
    }

    public String getName() {
   
   
        return name;
    }

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

    public int getAge() {
   
   
        return age;
    }

    public void setAge(int age) {
   
   
        this.age = age;
    }

    public String getJob() {
   
   
        return job;
    }

    public void setJob(String job) {
   
   
        this.job = job;
    }

    @Override
    public String toString() {
   
   
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", job='" + job + '\'' +
                '}';
    }
}

第二题

写出四种访问修饰符和各自的访问权限。

在这里插入图片描述

第三题

编写老师类。

在这里插入图片描述

Homework03.java:

package com.hspedu.homework;

public class Homework03 {
   
   
    public static void main(String[] args) {
   
   
        Teacher[] teachers = new Teacher[3];
        teachers[0] = new Professor("John", 50, "教授", 30000, 1.3);
        teachers[1] = new FProfessor("Tom", 40, "副教授", 20000, 1.2);
        teachers[2] = new JiangShi("Mary", 30, "讲师", 10000, 1.1);
        for(int i = 0; i < teachers.length; i++){
   
   
            teachers[i].introduce();
        }
    }
}

Teacher.java:

package com.hspedu.homework;

public class Teacher{
   
   
    private String name;
    private int age;
    private String post;
    private double salary;
    private double grade;

    public Teacher(String name, int age, String post, double salary, double grade) {
   
   
        this.name = name;
        this.age = age;
        this.post = post;
        this.salary = salary;
        this.grade = grade;
    }

    public String getName() {
   
   
        return name;
    }

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

    public int getAge() {
   
   
        return age;
    }

    public void setAge(int age) {
   
   
        this.age = age;
    }

    public String getPost() {
   
   
        return post;
    }

    public void setPost(String post) {
   
   
        this.post = post;
    }

    public double getSalary() {
   
   
        return salary;
    }

    public void setSalary(double salary) {
   
   
        this.salary = salary;
    }

    public double getGrade() {
   
   
        return grade;
    }

    public void setGrade(double grade) {
   
   
        this.grade = grade;
    }

    @Override
    public String toString() {
   
   
        return "Teacher{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", post='" + post + '\'' +
                ", salary=" + salary +
                ", grade=" + grade +
                '}';
    }

    public void introduce(){
   
   
        System.out.println(toString());
    }
}

Professor.java:

package com.hspedu.homework;

public class Professor extends Teacher{
   
   
    public Professor(String name, int age, String post, double salary, double grade) {
   
   
        super(name, age, post, salary,grade);
    }
    @Override
    public void introduce() {
   
   
        System.out.println("这是教授信息:");
        super.introduce();
    }
}

FProfessor.java:

package com.hspedu.homework;

public class FProfessor extends Teacher{
   
   
    public FProfessor(String name, int age, String post, double salary, double grade) {
   
   
        super(name, age, post, salary, grade);
    }

    @Override
    public void introduce() {
   
   
        System.out.println("这是副教授信息:");
        super.introduce();
    }
}

JiangShi.java:

java 习题集包括有答案 引 言 6 第一章 JAVA基础 7 一、填空题 7 二、判断题 9 三、选择题 9 四、程序阅读题 26 第二章 控制结构 32 一、选择题 32 二、填空题 48 三、判断题 50 四、程序阅读题 51 五、编程题 55 第三章 字符串 59 一、选择题 59 二、填空题 63 三、判断题 64 四、编程题 65 第四章 数组 66 一、选择题 66 二、判断题 69 三、填空题 70 四、编程题 71 第五章 类和对象 73 一、选择题 73 二、填空题 79 三、程序填空 80 四、问答题 93 五、判断题 94 六、编程题 94 第六章 面向对象程序设计 97 一、选择题 97 二、填空题 118 三、判断题 120 四、编程题 123 第七章 数据库的连接 129 一、选择题 129 二、填空题 131 三、判断题 131 四、编程题 131 第八章 多线程 133 一、填空题 133 二、选择题 134 三、多项选择 147 四、判断题 147 五、程序分析题 148 六、程序设计题 149 第九章 异常处理 151 一、选择题 151 二、填空题 155 三、判断题 157 四、程序阅读题 158 五、程序题 163 第十章 文件操作 165 一、选择题 165 二、填空题 170 三、判断题 174 四、读程序题 177 五、问答题 182 六、编程题 183 第十一章GUI界面设计 185 一、选择题 185 二、填空题 194 三、判断题 196 四、程序填空 197 五、简答题 214 六、编程题 214 参考答案 230 第一章 java基础 230 一、填空题 230 二、判断题 232 三、选择题 232 四、程序阅读题 232 第二章 控制结构 233 一、选择题 233 二、填空题 233 三、判断题 235 四、程序阅读题 235 五、编程题 236 第三章 字符串 255 一、选择题 255 二、填空题 255 三、判断题 255 四、编程题 255 第四章 数组 265 一、选择题 265 二、判断题 265 三、填空题 266 四、编程题 266 第五章 类和对象 269 一、选择题 269 二、填空题 270 三、程序填空 271 五、判断题 274 六、编程题 274 第六章 面向对象程序设计 293 一、选择题 293 二、填空题 294 三、判断题 295 四、编程题 296 第七章 数据库的连接 352 一、选择题 352 二、填空题 352 三、判断题 353 四、编程题 353 第八章 多线程 356 一、填空题 356 二、选择题 357 三、多项选择 357 四、判断题 357 五、程序分析题 357 六、程序设计题 357 第九章 异常处理 391 一、选择题 391 二、填空题 391 三、判断题 392 四、程序阅读题 392 五、程序题 393 第十章 文件操作 396 一、选择题 396 二、填空题 397 三、判断题 398 四、读程序题 398 五、问答题 399 六、编程题 401 第十一章 GUI界面设计 417 一、选择题 417 二、填空题 417 三、判断题 419 四、程序填空 419 五、简答题 420 六、编程题 422
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值