this的用法,我们直接看代码
public class ceshi {
public String name;
public void cehsi(String name) {
this.name=name;
}
public ceshi() {
System.out.println("我会被this调用");
}
public ceshi(int a) {
this();
System.out.println("this可以调用构造方法");
}
public ceshi h() {
return this;
}
}
public class test {
public static void main(String[] args) {
ceshi a=new ceshi(1);
String x=a.name;
}
}
运行结构如下
从什么看我们接可以知道this的三个用法:
1.创建对象初始化赋值。
2.调用构造方法。
3.作为方法的返回值。
spuer的用法,代码如下
public class ceshi {
public String name="zx";
public void c() {
System.err.println("我是父类的方法");
}
}
public class ceshi1 extends ceshi{
public void h() {
String a=super.name;
}
public void f() {
super.c();
}
}
运行结构如下
我们可以看出super的用法
1.调用父类的属性
2.调用父类的方法
3.引用父类的构造方法
this和spuer的区别
属性的区别:this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。
方法的区别:this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。
构造的区别:this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。
其他区别:this表示当前对象。super不能表示当前对象。