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关键字的主要内容,如果未能解决你的问题,请参考以下文章