欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【韩顺平Java笔记】第8章:面向对象编程(中级部分)【354-358】

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【354-358】

2025/4/22 17:49:52 来源:https://blog.csdn.net/qq_30204431/article/details/145336117  浏览:    关键词:【韩顺平Java笔记】第8章:面向对象编程(中级部分)【354-358】

354. 355. 本章作业14 15


Person.java

package com.m.homework13;public class Person {private String name;private int age;private char gender; //性别public Person(String name, int age, char gender) {this.name = name;this.age = age;this.gender = gender;}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 void play(){System.out.print(name + "爱玩");}public char getGender() {return gender;}public void setGender(char gender) {this.gender = gender;}public void printInfo(){System.out.println("姓名:" + name);System.out.println("年龄:" + age);System.out.println("性别:" + gender);}}

Student.java

package com.m.homework13;public class Student extends Person {private String stuId; //学号public Student(String name, int age, char gender, String stuId) {super(name, age, gender);this.stuId = stuId;}public String getStuId() {return stuId;}public void setStuId(String stuId) {this.stuId = stuId;}public void study(){System.out.println("我承诺,我会好好学习");}@Overridepublic void play() {super.play();System.out.println("足球");}@Overridepublic void printInfo() {System.out.println("学生的信息:");super.printInfo();System.out.println("学号:" + stuId);}
}

Teacher.java

package com.m.homework13;public class Teacher extends Person{private int workAge; //工龄public Teacher(String name, int age, char gender, int workAge) {super(name, age, gender);this.workAge = workAge;}@Overridepublic void printInfo() {System.out.println("老师的信息:");super.printInfo();System.out.println("工龄:" + workAge);}public void teach(){System.out.println("我承诺,我会认真教学");}@Overridepublic void play() {super.play();System.out.println("象棋");}
}

Homework13.java

package com.m.homework13;public class Homework13 {public static void main(String[] args) {Person[] persons = new Person[4];persons[0] = new Student("田所浩二", 24, '男', "114514");persons[1] = new Student("波奇酱", 18, '女', "1919" );persons[2] = new Teacher("我修院", 26, '男', 1);persons[3] = new Teacher("德川", 26, '男', 1);Homework13 homework13 = new Homework13();homework13.bubbleSort(persons);homework13.printResults(persons);}//自动转型的方法public void test(Person p){if(p instanceof Student){((Student) p).study();}else if(p instanceof Teacher){((Teacher) p).teach();}}//冒泡排序方法public void bubbleSort(Person[] persons){//冒泡排序按年龄排序Person tmp = null; //冒泡排序用的临时引用//从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()){tmp = persons[i];persons[i] = persons[j];persons[j] = tmp;}}}}//打印Person数组信息public void printResults(Person[] persons){//打印数组,使用向下转型for(int i = 0; i < persons.length; i++){System.out.println("-------------------------");if(persons[i] instanceof Student){((Student)persons[i]).printInfo();((Student)persons[i]).study();test(persons[i]);}if(persons[i] instanceof Teacher){((Teacher)persons[i]).printInfo();((Teacher)persons[i]).teach();((Teacher)persons[i]).play();}}}}

运行结果:
-------------------------
学生的信息:
姓名:波奇酱
年龄:18
性别:女
学号:1919
我承诺,我会好好学习
我承诺,我会好好学习
-------------------------
学生的信息:
姓名:田所浩二
年龄:24
性别:男
学号:114514
我承诺,我会好好学习
我承诺,我会好好学习
-------------------------
老师的信息:
姓名:我修院
年龄:26
性别:男
工龄:1
我承诺,我会认真教学
我修院爱玩象棋
-------------------------
老师的信息:
姓名:德川
年龄:26
性别:男
工龄:1
我承诺,我会认真教学
德川爱玩象棋

356. 本章作业15


无参构造器先执行this(“hello”),然后进入有参构造器。

357. 358. 本章作业16 17

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词