this与super关键字

Posted erdanyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this与super关键字相关的知识,希望对你有一定的参考价值。

一、this关键字:

1、this在类中的普通作用:

1)this在java中就是指当前对象,在静态方法中不能出现,可以通过(this.)的方法来调用当前对象的属性和方法

2、this在构造器中的中的作用:

1)java类中的构造器之间是可以通过this(arg1,arg2)的形式相互调用的,但是this(arg1,arg2)必须写在构造器的首行

2)注意这种调用只能在构造器里面使用

public class App 
{
    
    private String a;
    private String b;
    
    public App() {
        super();//默认调用
    }
    
    public App(String arg1) {
        this();//调用无参的构造器,且必须在首行
        this.a = arg1;
    }
    
    public App(String arg1, String arg2) {
        this(arg1);//调用只有一个参数的构造器,且必须在首行
        this.b = arg2;
    }
    
}

二、super关键字:

1、super在类中的普通作用:

1)java中的super指的是继承的父类的对象,在静态方法中不能出现,可以通过(super.)的方式来调用父类对象的属性和方法

2、super在构造器中的作用:

1)在构造器中可以通过super(arg1,arg2)方式调用在父类当中的构造器,而且super(arg1,arg2)必须写在构造器的首行

2)注意这种调用只能在构造器里面使用

3)不写的话默认会调用super(),在这种情况下父类必须有无参构造器

三、总结:

1、在java类中的任何一个构造器的首行必定会有this(arg1,arg2)或者super(arg1,arg2),就算没有也有默认值super()

2、java new的任何一个对象都会调用到Object类的Object()方法

3、this和super不能出现在静态区域内

 

以上是关于this与super关键字的主要内容,如果未能解决你的问题,请参考以下文章

this与super关键字(阿里巴巴面试竟然问道这个了……今天把它盘透彻了!)

Java中super关键字的作用与用法

super与this无法用在static方法中

5关键字this与super的区别

this与super关键字

Java中的this与super关键字