java中this的作用?
this就是当前类(MyDate)的一个代号。 在setter()方法里最能体现。 例如: public class Test{ int i; public void setI(int i){ this.i = i; } } setI()方法的参数名为i,Test类的属性也为i,所以在setI()方法中必须用this指定具体是哪一个i。 this.i 就代表了当前类(Test)的属性i。这样才可以通过setI()方法为属性初始化。
在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、最简单的原因就是编译不通过。
java中的this.name=name,this中的name和后面的name有啥么区别和作用?
public class Test{private String name;//成员属性public Test(String name){//参数名字 namethis.name=name;//this.name就是上面的成员属性,后面的name是传进来的参数名字 name}}