0342 - 0358 本章作业
第一题
package com.homework;
/*
定义person对象,对其年龄进行排序,以前是对基本属性排序,现在是对对象某一属性排序
*/
public class Homework01 {
public static void main(String[] args) {
//初始化person数组,创建三个对象
Person[] persons = new Person[3];
persons[0] = new Person("jack",15,"学生");
persons[1] = new Person("tom",19,"流浪歌手");
persons[2] = new Person("jerry",25,"研究生");
Person temp = null;
//1.输出当前的对象数组,俺冒泡排序由age从大到小的排序
//2.按照名字长度从大到小
/*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()){
temp = persons[j];
persons[j] = persons[j+1];
persons[j+1] = temp;
}
}
}*/
for(int i = 0;i < persons.length - 1 ; i++){
for (int j = 0; j < persons.length - i - 1; j++){
if (persons[j].getName().length() < persons[j+1].getName().length()){
temp = persons[j];
persons[j] = persons[j+1];
persons[j+1] = temp;
}
}
}
for(int i = 0;i < persons.length; i++){
System.out.println(persons[i]);
}
//System.out.println(persons[0]);
}
}
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;
}
//toString方法已经重写了,所以输出Person[i]会将person的全部属性输出
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", job='" + job + '\'' +
'}';
}
}
第二题
四种访问修饰符即各自的权限。
本类 | 同包 | 子类 | 不同包 | |
public | 可以访问 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
默认 | 可以 | 可以 | 不可以 | 不可以 |
private | 可以 | 不可以 | 不可以 | 不可以 |
第三题
package com.homework;
/*
3.编写老师类HomeworkO3.java
(1)要求有属性“姓名name”,“年龄age”,“职称post”,“基本工资salary"
(2)编写业务方法introduce(),实现输出一个教师的信息。
(3)编写教师类的三个子类:教授类(Professor)、副教授类、讲师类。工资级别分别为:教授为1.3、副教授为1.2、讲师类1.1。在三个子类里面都重写父类的introduce()方法。
(4)定义并初始化一个老师对象,调用业务方法,实现对象基本信息的后台打印。
*/
public class Homework03 {
public static void main(String[] args) {
professer p1 = new professer("张工", 48, "高级", 25000);
p1.introduce();
}
}
class teacher{
private String name;
private int age;
private String post;
private double salary;
public teacher(String name, int age, String post, double salary) {
this.name = name;
this.age = age;
this.post = post;
this.salary = salary;
}
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 void introduce(){
System.out.println("姓名:" + name + " 年龄:"
+ age + " 职称:" + post + " 薪水:" + salary);
}
}
package com.homework;
//子类
public class professer extends teacher {
//特有属性可自己增加...
public professer(String name, int age, String post, double salary) {
super(name, age, post, salary);
}
@Override
public void introduce() {
System.out.println("教授的信息:");
super.introduce();
}
}