java的this关键字
① java 的this的运用
在java中,this关键字有很多种用法。 在java中,这是一个引用当前对象的引用变量。
java this关键字的用法如下:
this关键字可用来引用当前类的实例变量。
this关键字可用于调用当前类方法(隐式)。
this()可以用来调用当前类的构造函数。
this关键字可作为调用方法中的参数传递。
this关键字可作为参数在构造函数调用中传递。
this关键字可用于从方法返回当前类的实例。
建议:如果你是java初学者,只学习 this 关键字的前三个用法就可以了。
更详细可以查询一些教程,例如:https://www.yii.com/java/this-keyword.html
② Java this关键字
这样写没有意义。
正确写法this.name = name;
this是当前类Student的对象的意识
如果不加this, 使用的是局部变量(本例中的参数)。
③ java 中this关键字的作用是什么
this的作用是在类中通过this访问自身的属性和方法。
比如:
publicclassMyClass(){
privateinta=1;
publicvoidp(){
}
publicvoidshow(inta){
this.a=this.a+1;//通过this访问自身属性,不加this就变成访问参数a了。
this.p();//通过this访问自身方法
}
}
④ JAVA中this关键字。怎么办
"例如你叫mama210217,不熟悉的人打招呼的时候,就叫"mama210217你好"
要是彼此都熟悉了,叫"hi"就是对你打招呼呢,hi就知道是你了。this差不多是这意思吧"
⑤ java中的this关键字到底指什么
如果有两个同类型的对象,分别叫作a和b,那么您也许不知道如何为这两个对象同时调用一个f()方法:
class Banana { void f(int i) { /* ... */ } }
Banana a = new Banana(), b = new Banana();
a.f(1);
b.f(2);
若只有一个名叫f()的方法,它怎样才能知道自己是为a还是为b调用的呢?
为了能用简便的、面向对象的语法来书写代码——亦即“将消息发给对象”,编译器为我们完成了一些幕后工作。其中的秘密就是第一个自变量传递给方法f(),而且那个自变量是准备操作的那个对象的句柄。所以前述的两个方法调用就变成了下面这样的形式:
Banana.f(a,1);
Banana.f(b,2);
这是内部的表达形式,我们并不能这样书写表达式,并试图让编译器接受它。但是,通过它可理解幕后到底发生了什么事情。
假定我们在一个方法的内部,并希望获得当前对象的句柄。由于那个句柄是由编译器“秘密”传递的,所以没有标识符可用。然而,针对这一目的有个专用的关键字:this。this关键字(注意只能在方法内部使用)可为已调用了其方法的那个对象生成相应的句柄。可象对待其他任何对象句柄一样对待这个句柄。但要注意,假若准备从自己某个类的另一个方法内部调用一个类方法,就不必使用this。只需简单地调用那个方法即可。当前的this句柄会自动应用于其他方法。所以我们能使用下面这样的代码:
class Apricot {
void pick() { /* ... */ }
void pit() { pick(); /* ... */ }
}
在pit()内部,我们可以说this.pick(),但事实上无此必要。编译器能帮我们自动完成。this关键字只能用于那些特殊的类——需明确使用当前对象的句柄。例如,假若您希望将句柄返回给当前对象,那么它经常在return语句中使用。
由于increment()通过this关键字返回当前对象的句柄,所以可以方便地对同一个对象执行多项操作。
1. 在构建器里调用构建器
若为一个类写了多个构建器,那么经常都需要在一个构建器里调用另一个构建器,以避免写重复的代码。可用this关键字做到这一点。
通常,当我们说this的时候,都是指“这个对象”或者“当前对象”。而且它本身会产生当前对象的一个句柄。在一个构建器中,若为其赋予一个自变量列表,那么this关键字会具有不同的含义:它会对与那个自变量列表相符的构建器进行明确的调用。这样一来,我们就可通过一条直接的途径来调用其他构建器。如下所示:
其中,构建器Flower(String s,int petals)向我们揭示出这样一个问题:尽管可用this调用一个构建器,但不可调用两个。除此以外,构建器调用必须是我们做的第一件事情,否则会收到编译程序的报错信息。
这个例子也向大家展示了this的另一项用途。由于自变量s的名字以及成员数据s的名字是相同的,所以会出现混淆。为解决这个问题,可用this.s来引用成员数据。经常都会在Java代码里看到这种形式的应用,本书的大量地方也采用了这种做法。
在print()中,我们发现编译器不让我们从除了一个构建器之外的其他任何方法内部调用一个构建器。
⑥ Java中怎么使用this关键字什么时候可以使用
当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的。
比如说吃饭这个方法它是由上帝来定义的,世界上所有的人来执行。吃饭这个行为发生的时候,主体就是在吃饭的这个人,也就是要有人执行吃饭这个行为。 有时候我们需要在一个行为(方法)里,能明确知道这个行为是谁来执行的,确切的说就是我要知道谁在吃饭。
function eatSomthing() { this.eat }
在编程语言里面每一个定义的方法里,都会有一个this关键字,这个this关键不是由在那儿定义来决定的,而是由谁来执行的决定的。这是判断this关键。
his表示的对像,是这个方法活动的"上下文"。所谓的"上下文",也就是表示当前的这些代码的活动范围,当前的活动(代码的执行)在那个对像上的发生的意思。
吃饭这个活动,是在张三这个对像上发生的,则张三是吃饭的下下文。在body里去查找的div元素,则body是这个查找活动的上下文。那这个this,就是这个方法运行活动的范围了。
方法里this当前这个方法运行的上下文,但上下文不仅限于是this(就是整体与个体的区别)。
⑦ java中的this关键字
this.func1();代表这个类当前对象(说白了就是类本身,JAVA在类定义里默认一个对象代表类本身行驶调用方法的功能)引用这个方法
a1.func2(); 就是这个具体对象调用方法
⑧ 对于java中this关键字的理解
this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。
类的构造函数与getter、setter方法常用到this关键字(JavaBean)
JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。
public class Person {
//==========静态属性===========
//--想学编程的可以来我这看看----
private String name; //姓名
private int age; //年龄
private String gender; //性别
//==========动态行为===========
public void readBook(String book) {
System.out.println("reading " + book);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;//this.name就是上面的private String name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
官方定义
this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种:
1.普通的直接引用
这种就不用讲了,this 相当于是指向当前对象本身。
2.形参与成员名字重名,用 this 来区分:
class Person {
private int age = 10;
public Person(){
System.out.println("初始化年龄:"+age);}
public int GetAge(int age){
this.age = age;
return this.age;
}
}
public class test1 {
public static void main(String[] args) {
Person Harry = new Person();
System.out.println("Harry's age is "+Harry.GetAge(12));
}
}
希望对您有所帮助!~
⑨ Java中的this关键字请举个具体的例子来说明用它的好处
this
关键字表示的是当前类
比如
this.name
是指当前类的name属性,有些时候可以用于区分同名属性,如你在类里有个属性为name,有个方法里也有个属性叫name,你在该方法里使用this.name是指类属性,直接使用name则是指方法的name属性,这样不会混淆;
可以用this.method()调用本类的method()方法;
可以调用父类的方法和属性,比如你继承了某个类,在该类中你不能直接看到父类的方法和属性,你需要打开父类去查看他的方法和属性,这样比较麻烦,你可以直接用this.的方式查看到父类的方法和属性;
使用this关键字调用类方法和属性通常比较方便,比如你的类比较长,有时,你想调用某个方法或属性,你又忘了它的名称,直接使用this.的方式直接就能找到;
还有一点要注意,比如你有个类包含一个内部类,你在内部类使用this,则是指调用内部类的方法和属性,此时this不能调用到外部类的方法及属性。