内容纲要
342讲 面向对象章节作业(getClass()可以看运行类型)、章节内容梳理
-
第一题(可以改进、把冒泡法写到Person类中的一个方法、遍历Person数组也能写成方法)
可以重写 toString( ); 方法。改写后重新遍历Person数组更简单。
-
上方老韩代码。。内部的i应该要改为j。老韩应该失误了。。
我失误了。。Person temp = null;也能用,而不需要传值;因为temp = person[j] 传引用地址是没问题的。。。。我多虑了
package main.OOPCharactorHomework.Homework01; public class Test { public static void main(String[] args) { Person[] personArr = new Person[3]; personArr[0] = new Person("张三", 99, "法外狂徒"); personArr[1] = new Person("克里斯", 18, "关门"); personArr[2] = new Person("老八", 20, "干饭"); for (int i = 0; i < personArr.length; i++) { for (int j = 0; j < personArr.length -i - 1; j++) { if(personArr[j].age < personArr[j+1].age){ Person temp = new Person();//这里需要传值进来 temp.age = personArr[j].age; temp.job = personArr[j].job; temp.name = personArr[j].name; personArr[j] = personArr[j+1]; personArr[j+1] = temp; } } } for (int i = 0; i < personArr.length; i++) { System.out.println(personArr[i].name + personArr[i].age + personArr[i].job); } } }
package main.OOPCharactorHomework.Homework01;
public class Person {
public String name;
public int age;
public String job;
public Person() {
}
public Person(String name, int age, String job) {
this.name = name;
this.age = age;
this.job = job;
}
}
2.
public | protected | default | private | |
---|---|---|---|---|
本类 | 有 | 有 | 有 | 有 |
同一包 | 有 | 有 | 有 | 无 |
子类不同包 | 有 | 有 | 无 | 无 |
不同包 | 有 | 无 | 无 | 无 |
- 注意default默认访问修饰符在同一包中的子类是可以访问的。
-
比较简单,不粘贴在这里了,
-
放在IDEA的package main.OOPCharactorHomework.Homework03;中
- 这一题二号上面那道题差不多,写在了IDEA里(细节没写)
- 11题答案 向下转型和动态绑定
- 13较为简单。写在IDEA中。
-
14题注意一下有B类的参构造器 隐藏了个super();
getClass() 可以查看运行类型
-
15
- 16