1.this的用法
this 关键字:
1.作用范围:本类(不是实例化的对象,而是正在写的对象)
2.作用效果:(1.)表示当前对象,简单来说就是来区分哪个是形参那个是成员变量,例:
public void show(String name){
this.name=name;
//第一个name为成员变量,第二个为形参;
}
(2.)访问属性和调用方法(如果是继承关系,这个类中无这个属性则会从父类中找,方法是用super)
public class sudent{
int age;
public student(){//无参构造方法
System.out.println("无参");
}
public student(int age){
this();//调用无参方法
//相反的无参中也可以调用有参
//用this()来调用构造方法,只能用于构造方法,并且
//要放在构造犯法第一行
this.age=age;
}
public void work(){
this.work2();//调用方法
}
public void work2(){
System.out.println("");
}
public int getAge(){
return this.age;//访问属性
}
}
2.super的用法
super关键字:(必须为继承关系)
1.作用范围:父类。
2.作用效果:访问父类的属性与方法(与this类似)
public class Dad{
public Dad(){
System.out.println("这是父类");
}
public void show(){
System.out.println("这是show方法");
}
}
public class Son extends Dad{
public Son(){
super();//这个必须放在构造方法第一行,如果构造方法有参,super(参数);
System.out.println("这是子类");
}
public void Show(){//这里没重写super.show();//引用父类中的show方法。
System.out.println("这是Show方法");
}
}
补:this和super大部分情况不能用于静态中,super也可以用来访问父类的同名方法