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不能出现在静态区域内

猜你喜欢

转载自www.cnblogs.com/erdanyang/p/10124843.html