this关键字特点:
1、在类的方法中,使用this关键字代表的是调用此方法的对象的引用。 |
2、this可以看做是一个变量,它的值是当前对象的引用(也就是把this看作一个引用该方法的对象,跟特点1性质差不多) |
3、使用this可以处理方法中的成员变量和形参同名问题(常用,如下代码) |
4、当在方法中可以调用到该方法的对象时,就可以使用this |
5、在类的构造方法中可以调用this([参数列表])来调用该类的指定构造方法(也就是需要调用同一类的其他方法时,但是this调用方法只能放在第一条语句) |
class Student
{
int age;
String name;
double score;
Student(int newage)
{
System.out.println("这是构造方法1");
age = newage;
}
Student(int newage,String newname)
{
System.out.println("这是构造方法2");
age = newage;
name = newname;
}
void testThis()
{
System.out.println(this.name);
}
Student(int age,String name,double score)
{
this(20,"long");//特点5
System.out.println("这是构造方法3");
this.age = age;//特点3
this.name = name;
this.score = score;
}
void putS()
{
System.out.println("age ="+age+",name = "+name+",score = "+score);
}
}
public class thisdemo {
public static void main(String[] args) {
Student stu1 = new Student(18,"wang",99.5);
stu1.testThis();//特点1
}
}
static关键字特点:
1、修饰成员变量,称为类变量(静态变量) |
2、修饰成员方法称为类方法(静态方法) |
3、当类被加载的时候就会被加载,优先于对象的存在 |
4、修饰语句块(静态代码块),先于构造方法之前执行,只执行一次,用来对静态成员做初始化 |
5、调用的时候可以直接通过类名.成员来访问 |
static注意:静态方法中只能访问外部的静态成员;静态方法中不能出现this关键字(因为静态方法是先于对象之前)