在java中this和super的使用

在java中this和super的使用

this的使用

1.this使用在本身的调用类中,可以调用本类的构造方法、方法和属性。
2. 当使用this来调用本类的构造方法时,this只能放在构造方法的第一句。

super的使用

1.super调用的是父类的构造方法,必须在子类构造方法的第一行,如果子类没写,默认调用父类无参构造,即第一行:super();
2.super只能用在子类的方法或者构造方法中。
3.当super和this调用构造方法时都需要放在构造方法的第一行,所以不能同时使用。

this和super的区别

1.this代表本身调用者对象,super代表本身调用者的父类对象
2.this可以直接在本身对象中使用,super只能在发生调用时在本身对象即子类对象中使用。
3.this()代表的本类无参构造,super()代表的是父类无参构造。

如:

public class Person {//父类
    String name = "yyq";//属性

    public Person() {//无参构造
        System.out.println("调用Person的无参构造器");
    }

    public void print(){//普通方法
       System.out.println("Person");
   }
}
public class Student extends Person {//子类继承上面的父类
     String name = "fool";//属性
    public Student() {//无参构造 这里虽然没写super()但是相当于在第一行写了super()
        //super();
        System.out.println("调用Student的无参构造器");
    }
    public void print(){
        System.out.println("Student");
    }
    public void test2(){//测试普通方法的方法
        print();
        this.print();	//调用本类的print()
        super.print();	//调用父类的print()
    }
    public void test(String name){//测试参数
        System.out.println(name); //调用形参
        System.out.println(this.name);//调用本类name
        System.out.println(super.name);//调用父类name
    }

运行结果

IDEA快捷键积累:ctrl + h 树形的展示当前类的子父类

posted @ 2020-05-19 10:10  小徐学狂  阅读(466)  评论(0编辑  收藏  举报