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