在Java中的main方法中可以使用this关键字吗为什么
在Java中的main方法中可以使用this关键字吗?为什么?
在Java中一个类的方法有主要有两种表现形式,一种是类的实例方法,一种是类的静态方法。如下面的Java类:
public class User {
private String name
public void setName(String name) {
this.name
= name
}
public static void main(String[] args) {
User user = new User()
user.setName("小明")
}
}
setName方法为类的实例方法,main方法为类的静态方法,可以看到setName方法可以使用this类访问类的实例字段。主要原因是:this表示类的对象实例本身,只能当一个类被实例化(通过new)后,才可以在对象实例中使用this。而类的静态方法是不需要进行实例化就可以使用的,而没有实例化前是不能使用this。
不能,
1、main方法是静态static,也就是在类加载的时候已经初始化化到内存,它的实例是类实例
2、this表示当前实例,main方法和this代表的是不同的实例。
3、this一般不能用在静态方法和静态模块中
4、最简单的原因就是编译不通过。
编译就不能通过,因为main方式是静态方法,而this是指代某个对象,静态方法的调用是可以不创建对象调用的,也就没有对象,所以不能使用this关键字