this是一个引用变量,其中保存了指向自身的地址,this在堆内存中的类内部
this位置示意图:

没有static关键字的方法称为实例变量,同样没有static的变量称为实例变量。当一个动作需要对象参与,就不要定义为static。this可以出现在实例方法中,表示正在执行这个方法的对象。
有static就要用类名.方法名调用,这种方法执行时候不需要对象,而且访问不了实例对象,因为没有引用。但是可以在static的方法中new一个对象,然后使用这个对象。因为主函数一般前面都有static,所以主函数里面不能直接用实例变量和this。
在构造方法中使用this(参数列表)方法可以调用另一个构造方法,而不创建对象 。但是this()只能出现在第一行,只能在构造方法出现一次。如下所示:
public Student(int age,String sex) {
this.age = age;this.sex=sex;
}
public Student(int age, String sex, int grade){
this(age,sex);//自己调用上一个构造方法
this.grade=grade;
}
空指针异常:
以一个为null的引用调用实例对象和方法会产生空指针异常,但是如果是引用.static方法不会有异常
本文介绍了Java编程中的this关键字,它用于引用当前对象。this主要用在实例方法中,表示正在执行方法的对象。在构造器中,可以通过this(参数列表)调用其他构造器,但必须位于构造器的第一行,并且只能调用一次。此外,空指针异常会在尝试用null引用调用实例方法时发生,而对静态方法的调用则不会引发此类异常。
6万+

被折叠的 条评论
为什么被折叠?



