当前位置:首页 » 编程语言 » java类this

java类this

发布时间: 2022-05-18 12:52:39

java中this的用法

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);
}
}

❷ Java类中this();作用是什么,只在构造方法中出现吗

java中this关键字有三个作用:

  1. 区别全局变量和局部变量

  2. 在方法中this表示谁调用该方法 this就代表谁

    例如:public void show(){

    Synchronized(this){

    ……}

    }

    同步代码块表示 哪个对象调用该方法 就得到哪个对象的对象锁

  3. 构造器中this()表示调用形式参数相同的同一个类中的另一个构造器,这样就可以代码复用

    就拿你那段代码来说 this()就表示调用该类中 名称是Note 形参是空的构造器 让里面的代码在这个有参的构造器中再跑一遍


❸ 对于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));
}
}

希望对您有所帮助!~

❹ this()在java中什么意思

this表示类实例本身。

this的用法:

1、表示对当前对象的引用!

publicclassA{

publicAgetA(){

returnthis;//表示获取当前实例本身

}

}

2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!

publicclassA{

privateinta=0;//位置1

publicAgetA(inta){

this.a=a;//前面this.a表示位置1的a,赋值=号右侧的表示参数a

}

}

3、用于在构造方法中引用满足指定参数类型的构造器。

publicclassA{

publicA(inta){

}

publicA(){

this(1);//这里调用自身的构造函数publicA(inta){

}

}

❺ JAVA中this有什么作用

我也来说几句吧,呵呵! 希望用通俗的语言,让你能明白this的作用!
其实this关键字是很容易理解的,下面我举两个例子作对比,可能你就看明白了:
没有使用this的情况:
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int x,int y) //一个返回整形数的方法
{
aa = x;
bb = y;
return aa + bb;
}
}
使用this的情况
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa,int bb) //一个返回整形数的方法
{
this.aa = aa;//第一个aa是全局变量的aa,后一个aa是参数aa
this.bb = bb;//第一个bb是全局变量的bb,后一个bb是参数bb
return (this.aa + this.bb);
}
}

结论:
上面的两个类,本质是相同的,而为什么在第类中使用this关键字呢,注意到第类中的方法returnData(int aa,int bb),形式参数分别为aa和bb,刚好和“private int aa,bb;”这里的变量名是一样的,现在问题来了:在returnData的方法体中如何区别形式参数aa和全局变量aa,两 个 bb也是如此?这就是引入this关键字的用处所在了!this.aa表示的是全局变量的aa,而没有加this的aa表示形式参数的aa,bb也是如此!
建议:
在编程中,过多的使用this关键字不是好方法。这从上面也看得出来,相同的变量名加上this关键字过多时,有时会让人分不清哪个是对哪个。这时可以使用以下方法修改,避免使用this关键字:

class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa1,int bb1)
{
aa = aa1;//在aa后面加上一数字1加以区分,其他以此类推
bb = bb1;
return aa + bb;
}
}
总结:
可以看出,上面的,,都是一样的,但既避免了使用this关键字,又避免了中x和y 这种参数意思不明确的缺点.所有建议使用一样的方法!
以上是我的个人心得,原创发贴!希望你能看懂,呵呵!献丑了!

❻ java中的this问题

我理解的是,this代表这个类本身,对于F.java这个类而言,相当于在说“我”,方法b中调用了this.a(),可以理解为方法b调用了“我的a方法”。
对于这个例子而言,其实加不加this,结果都一样,但对于这个例子就有用了:
假设有一个类叫G.java,其拥有一个和F.java一模一样的方法a:
public class G {
public void a(Object args1) {

}
}
并且此时,F继承自G:
public class F extends G{
public void a(Object args1) {

}
public void b(String args2) {
this.a(args2);
super.a(args2);
}
此时注意我上面写的b方法,b方法中既要调用F自己的a方法,又要调用父类G中的a方法,为防止出现歧义,我们在调用F的a方法时,就使用this作为修饰;调用G的a方法时,就使用super作为修饰,这样就一目了然不是吗。
然后如果不加this,比如b方法定义为:
public void b(String args2) {
a(args2);
}
其实默认就是调用了F自身的a方法,可以理解为不加this时,java会默认给它加上this。
另外说一下你的例子如何输出一个东西,你需要在你的a方法里加上比如:
public void a(Object args1) {
System.out.println(args1.toString());
}
在你的main函数中不要传入null,否则将引起空指针异常,你可以传入比如:
public static void mian(String[] args) {
new F().b("哈哈哈");
}
这样运行时最终会在控制台输出“哈哈哈”

❼ java中“this”的用法是什么

一、指自己所在的对象。
比如在一个方法中,调用其他对象的变量或方法时,可以使用那个对象的对象名,比如aa.abc();
而调用自己所在对象的方法或变量时,不知道别人给起了什么名,所以直接用this.abc()就可以了。
二、看一个小例子中“this”的用法!

/**

* @author feng-neusoft

*

* 本示例为了说明this的三种用法!

*/

package test;

public class ThisTest {

private int i=0;

//第一个构造器:有一个int型形参

ThisTest(int i){

this.i=i+1;//此时this表示引用成员变量i,而非函数参数i

System.out.println("Int constructor i——this.i: "+i+"——"+this.i);

System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));

//从两个输出结果充分证明了i和this.i是不一样的!

}

// 第二个构造器:有一个String型形参

ThisTest(String s){

System.out.println("String constructor: "+s);

}

// 第三个构造器:有一个int型形参和一个String型形参

ThisTest(int i,String s){

this(s);//this调用第二个构造器

//this(i);

/*此处不能用,因为其他任何方法都不能调用构造器,只有构造方法能调用他。

但是必须注意:就算是构造方法调用构造器,也必须为于其第一行,构造方法也只能调

用一个且仅一次构造器!*/

this.i=i++;//this以引用该类的成员变量

System.out.println("Int constructor: "+i+"/n"+"String constructor: "+s);

}

public ThisTest increment(){

this.i++;

return this;//返回的是当前的对象,该对象属于(ThisTest)

}

public static void main(String[] args){

ThisTest tt0=new ThisTest(10);

ThisTest tt1=new ThisTest("ok");

ThisTest tt2=new ThisTest(20,"ok again!");

System.out.println(tt0.increment().increment().increment().i);

//tt0.increment()返回一个在tt0基础上i++的ThisTest对象,

//接着又返回在上面返回的对象基础上i++的ThisTest对象!

}

}

运行结果:

Int constructor i——this.i: 10——11

String constructor: ok

String constructor: ok again!

Int constructor: 21

String constructor: ok again!

14

细节问题注释已经写的比较清楚了,总结一下,其实this主要要三种用法:

1、表示对当前对象的引用!

2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。

3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!

还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!

❽ 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肯定是用在某个类的方法里吧。呵呵,我们继续往下说。

举个例子:
public class persion{

private String name=null;
private int age;

public void setName(String name){
this.name=name;
}
public String getName(){

return name;
}

}

在这个类中setName方法中第一个变量用this是为了和本方法的参数this做区别,表示这个name指的是Person这个类的name属性,而不是name参数,如果去掉这个this,执行完这个方法后,Person类的name属性仍然为null
getName方法返回的Person类的name,之所以不用this是因为没有必要,因为编译器会知道这个name就指的是Person的name而不是其他的name(因为找个方法没有name变量和它混淆)。当然,这个方法你也可以显示的使用return this.name,没错。
这些都是最基本的了。开始学只要记住这个就可以了。慢慢的其他的用法也就无师自通了!

❿ java 的this的运用

在java中,this关键字有很多种用法。 在java中,这是一个引用当前对象的引用变量。

java this关键字的用法如下:

  • this关键字可用来引用当前类的实例变量。

  • this关键字可用于调用当前类方法(隐式)。

  • this()可以用来调用当前类的构造函数。

  • this关键字可作为调用方法中的参数传递。

  • this关键字可作为参数在构造函数调用中传递。

  • this关键字可用于从方法返回当前类的实例。

  • 建议:如果你是java初学者,只学习 this 关键字的前三个用法就可以了。

    更详细可以查询一些教程,例如:https://www.yii.com/java/this-keyword.html

热点内容
左旋螺纹数控编程实例 发布:2025-05-16 00:11:49 浏览:10
安卓游戏旧版本从哪个软件下载 发布:2025-05-16 00:00:20 浏览:329
连接聚类算法 发布:2025-05-15 23:55:09 浏览:978
工资算法单休 发布:2025-05-15 23:52:30 浏览:819
超凡先锋配置不行怎么办 发布:2025-05-15 23:27:54 浏览:532
win7取消加密 发布:2025-05-15 23:26:37 浏览:472
不用internet打开ftp 发布:2025-05-15 23:06:00 浏览:154
sql字符串取数字 发布:2025-05-15 22:57:45 浏览:125
推荐编程课 发布:2025-05-15 22:34:12 浏览:618
表拒绝访问 发布:2025-05-15 22:29:37 浏览:978