目录
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();
        }
    }
}


















