Super相关知识点
1 package OOP;
2 //子类:老师继承学校
3 //子类继承了父类,就会拥有父类的全部方法;
4 public class Teacher extends School {
5 public Teacher() {
6 //此区域隐藏了一个代码super();去调用了父类中的School的无参构造
7 //注意:super();调用父类的构造器,必须在子类构造器的第一行
8 System.out.println("Teacher无参构造");
9 }
10
11 private String name="nong";
12 public void print(){
13 System.out.println("Teacher");
14 }
15 public void test1(){
16 print();
17 this.print();//调用本类中的print
18 super.print();//调用父类中的print
19 }
20 public void test(String name){
21 System.out.println(name);//此时输出的name是String的
22 System.out.println(this.name);//此时输出的name是上面定义的name
23 System.out.println(super.name);
24 }
25 }
1 package OOP;
2 //继承 herit
3 //父类
4 //ctrl+h:在java中,所有的类,都默认直接或间接继承了Object
5 /*
6 super注意点:
7 1.super调用父类的构造方法,必须在构造方法的第一个
8 2.super必须只能出现在了类的方法或者构造方法中
9 3.super和this不能同时调用构造方法
10 对比this;
11 代表的对象不同:
12 this:本身调用者这个对象
13 super:代表父类对象的应用
14 前提
15 this:没有继承也可以使用
16 super:只能在继承条件才可以使用
17 构造方法:
18 this():本类的构造
19 super():父类的构造
20 */
21 public class School {
22 public School() {
23 System.out.println("School无参构造");
24 }
25
26 protected String name="ZhongCheng";
27 public void print(){
28 System.out.println("School");
29 }
30 }
想多了都是问题,做多了才是答案