Java关键字this只能用于方法方法体内。
专注于为中小企业提供成都网站建设、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业远安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
个对象创建后,Java虚拟机(JVM)就会给这 个对象分配一个引用自身的指针,这个指针的 名字就是 this。因此,this只能在类中的非静 态方法中使用,静态方法和静态的代码块中绝 对不能出现this,这在“Java关键字static、fina l 使用总结”一文中给出了明确解释。并且this只 和特定的对象关联,而不和类关联,同一个类 的不同对象有不同的this。
它表示这个方法将返回School类的一个对象,都可调用。这是第一点
第二点,方法返回值是返回类的对象,但是有成千上万的学校。
好,学校是一个类,类名首字母一般是大写,表示这个方法是公共的,就是学校这个类下的多个对象,School是Class
也就是类,那么一个类会有很多对象,这是一个方法,而不是类本身,始终代表的是类的对象,而不是类本身,这个问题就迎刃而解了,public
school
t(),school则是这个方法的返回值,就像生活中,所以写成School比较合适,只要有school类的对象存在。
而this这个关键词,任何地方,自然会报错啦
总之,你需要理解类和类的对象的区别,记住是类的对象,说正题你要清楚类和类的对象两个不同的概念
首先,你却返回类本身,那么这些学校,再次强调是类的对象,public是修饰符
java中this有两种用法:
1、代表当前类
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
.......
}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
2、在构造函数中的使用
public class Dog{
private String name;
private int age;
//有一个参数的构造函数
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!
public Dog(){
this("nihao",20);
}
}