目录
1. 在需要运行的类中 定义 main 方法
2. this 。访问逻辑:先访问本类中,再访问父类中可以访问的成员(不包括和本类中重名的成员)
3. super 。访问逻辑:super(父类对象)直接访问父类及以上,除了 private修饰、静态、覆盖的成员
4.equals 方法的复写
5.写代码的时候---看编译类型、---调用时:调用子类复写的方法--再找父类中方法
6.向上转型
7.== 比较运算法 :
8. equals()object类方法 :
9.使用有参构造器时 默认含有一个、或者会写【super()------进入到父类中的无参构造器】,无参构造器则不用
10.总结
9.细节
1. 在需要运行的类中 定义 main 方法
2. this 。访问逻辑:先访问本类中,再访问父类中可以访问的成员(不包括和本类中重名的成员)
3. super 。访问逻辑:super(父类对象)直接访问父类及以上,除了 private修饰、静态、覆盖的成员
4.equals 方法的复写
注意:
5.写代码的时候---看编译类型、---调用时:调用子类复写的方法--再找父类中方法
运行的时候--看运行类型
6.向上转型
--调用时:先调用子类中同名的复写的后方法--再找父类中方法
7.== 比较运算法 :
基本数据类型是否相等;
引用类型判断是否相等
8. equals()object类方法 :
不能判断基本类型;
引用类型判断是否相等(常常重写【比如 String的equals方法就复写了】,用于判断对象的属性是否相等。。。)
9.使用有参构造器时 默认含有一个、或者会写【super()------进入到父类中的无参构造器】,无参构造器则不用
例如:
有参构造器:
10.总结
9.细节
public class中定义了其他的非main方法 ,如果要在main中调用这些方法的话,
必须再定义一个 public 类的引用,才能调用(this 或者直接使用 均会报错)
package com.zkqlearn.homwork.Homework13;
public class HomWork {
public static void main(String[] args) {
Person [] persons = new Person[4];
persons[0] = new Student("zzz",11,"female","z234");
persons[1] = new Student("zzz",12,"male","a111");
persons[2] = new Teacher("wer",30,"female",12);
persons[3] = new Teacher("wer",35,"male",12);
HomWork homWork = new HomWork();
// this.bubbleSort(persons);
// bubbleSort(persons);
homWork.bubbleSort(persons);
System.out.println("after bubble sort");
for (int i = 0; i < persons.length; i++) {
System.out.println(persons[i]);
}
for(int i =0;i<persons.length;i++){
homWork.test(persons[i]);
}
}
public void bubbleSort(Person[] persons) {
Person temp = null;
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;
}
}
}
}
public void test(Person personing){
if (personing instanceof Student){
Student student = (Student)personing;
student.printinfo();
student.study();
}else if(personing instanceof Teacher){
Teacher teacher = (Teacher)personing;
teacher.printinfo();
teacher.teach();
}
}
}