super

super:


super注意点:

  1. super调用父类的构造方法,默认调用,必须在构造方法的第一个

  2. super必须只能出现在子类的方法或构造方法中

  3. super不能同时调用构造方法

     

和this的区别:

1.代表的对象不同

this:本身调用者这个对象

super:代表父类对象的应用

2.前提不同:

this:没有继承也可以使用

super:代表父类对象的应用

3.构造方法不同:

this():本类的构造

super():父类的构造


输出name:

Application:

package com.cheng.oop;

import com.cheng.oop.extend.Teacher;
import com.cheng.oop.extend.Student;

//一个项目应该只存在一个main方法
public class Application {
   public static void main(String[] args) {
       //实例化了一个对象
       //使用了new关键字 本质是在调用构造器
       Student student = new Student();
       student.test("李宗丞");

  }
}


Student:

package com.cheng.oop.extend;

public class Student extends Person{
   private String name = "lzc";


   public void test(String name){
       System.out.println(super.name);//父类的name Dodo1
       System.out.println(this.name);//本类的name lzc
       System.out.println(name);//参数name
  }

}

Person:

package com.cheng.oop.extend;
//在Java中,所有的类都默认直接或者间接继承Object类

public class Person {
   protected String name = "Dodo1";

}

调用方法:

Application:

package com.cheng.oop;

import com.cheng.oop.extend.Teacher;
import com.cheng.oop.extend.Student;

//一个项目应该只存在一个main方法
public class Application {
   public static void main(String[] args) {
       //实例化了一个对象
       //使用了new关键字 本质是在调用构造器
       Student student = new Student();

       //调用方法
       student.test0();//输出Student Student Person

  }
}


Student:

package com.cheng.oop.extend;

public class Student extends Person {
   private String name = "lzc";//name


   public void print() {
       System.out.println("Student");//输出student
  }

   public void test0() {
       print();//自己的print
       this.print();//自己的print
       super.print();//父类的print
  }
}

Person:

package com.cheng.oop.extend;
//在Java中,所有的类都默认直接或者间接继承Object类

public class Person {
   protected String name = "Dodo1";

   public void print(){
       System.out.println("Person");//输出person
  }
}

NOTICE!!!!

私有的属性、方法无法被继承!


子类构造器默认调用父类的无参构造器,且放在构造器第一行;

当父类为有参构造时,子类必须显示写调用有参,不然默认调用无参构造器;

一个类重写有参构造时候,最好加上无参构造。


 

posted @ 2021-06-03 17:00  Dudo1  阅读(283)  评论(0)    收藏  举报