一,this关键字:
1.作用:代表; 当前对象的一个引用
2.普通方法中使用this一定要区分类成员属性和方法的形参使用this来调用其他构造方法位置可以在任意的位置
3.构造方法中使用this一定要使用this来调用其他构造方法位置必须是第一条语句
注意的点:this不能用于static方法
下面是一个this案例
class Test_08{
public static void main(String [] args){
//调用无参构造函数,
Person p1 = new Person();
p1.setAge(20);
p1.setName("张三");
p1.setGender("男");
System.out.println(""+p1.getName()+" 今年"+p1.getAge()+"岁 性别为:"+p1.getGender());
}
}
class Person{
private String name;
private int age;
private String gender;
Person(){}
Person(String name,int age,String gender){
this.name = name;
this.age = age;
this.gender = gender;
}
public void setName(String name){
name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
age = age;
}
public int getAge(){
return age;
}
public void setGender(String gender){
gender = gender;
}
public String getGender(){
return gender;
}
}
二,static关键字:
1.声明的成员变量为静态成员变量规定类名,类属性 调用
2.声明的方法为静态方法声明类名,方法名 调用
注意的点:静态方法不能以任何方式引用this和supper关键字
public class Test5 {
private static int a;
private int b;
static {
Test5.a = 3;
System.out.println(a);
Test5 t = new Test5();
t.f();
t.b = 1000;
System.out.println(t.b);
}
static {
Test5.a = 4;
System.out.println(a);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
static {
Test5.a = 5;
System.out.println(a);
}
public void f() {
System.out.println("hhahhahah");
}
}
运行结果:
3
hhahhahah
1000
4
5
三,super关键字:
1.访问父类的构造方法(super())
2.访问父类的属性(super.属性)
3.访问父类的方法(super.方法)
注意的点:super调用构造方法时,只能是第一句