问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...java this关键字到底指的是成员变量还是方法里的参数值?

发布网友 发布时间:2024-10-02 15:05

我来回答

5个回答

热心网友 时间:2024-10-07 05:14

有this表示的是成员变量,没有this修饰的就近原则,那个离他进就是哪个。比如成员变量跟参数都是同一个名(例 int age)。在方法里面,有this修饰的就是表示成员,没有的就是参数。都没有修饰,就表示是离他近的参数啦。。
当然这个回答只是回答了你的问题、
扩展一下内容吧=====
(当虚拟机创建一个对象,会创建一个指针指向自己)this就表示引用自己的指针,所以在静态或静态的代码快中不能有this,因为没有创建对象。
总结一下,其实this主要要三种用法:
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
说明在什么情况下需要用到this:
第一、通过this调用另一个构造方法,用发是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。
第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错,呵呵。
第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。
其实这些用法总结都是从对“this是指向对象本身的一个指针”这句话的更深入的理解而来的,死记不然容易忘记而且容易搞错,要理解!

热心网友 时间:2024-10-07 05:17

哪个对象调用的成员函数,this就指向哪个对象,它指向的是调用它的对象
至于成员变量请用 对象+. 也就是成员操作符来指明。

热心网友 时间:2024-10-07 05:13

this 指的不是成员变量还是方法里的参数值
指得是这个类自身

class a
{
int i = 0;
public void aa(){
System.out.print(i);
}
public void ab(){
aa();
}
}
上边这个类是肯定可以正常编译运行的 但是那是经过编译器修改过以后才可以的 这个类真正的样子是这样的
class a
{
int i = 0;
public void aa(){
System.out.print(this.i);
}
public void ab(){
this.aa();
}
}
看见没有 类在调用自己成员变量和方法的时候其实都是必须要在前边加上this.的

热心网友 时间:2024-10-07 05:16

this指代成员方法中的成员自身,可以省略不写

举个例子

class Show
{
    private String name;
    public void setName(String name)
    {
        //这里的name是参数传递过来的值,this.name是成员变量自身的private String name属性
        this.name=name+",你好";
    }
    public String getName()
    {
        //返回当前对象的name属性值
        return this.name;
    }
}

public class Test
{
    public static void main(String[] args)
    {
        //创建一个新的Show对象,名称为shower
        Show shower=new Show();
        //这里传了一个值给shower,可以获知shower的name值为 "巨人战舰,你好"
        shower.setName("巨人战舰");
        //输出的是shower的name值,这里的shower相当于getName()中的this
        System.out.println(shower.getName());
    }
}

热心网友 时间:2024-10-07 05:18

this 就是这个的意思,引申一下就是这个类的意思,有时候因为实际需要,类里边要调用自己的话,就用this代表自己。相当于张三要说自己的时候不用“张三”而是用“我”
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
正月里剪头死舅舅这一说法影响太大了,像我这样一个月至少要剪两次头的... 夏季钓黄尾鱼用什么饵料? 夏季什么时候最好钓黄尾 夏季钓黄尾有哪些技巧 win10重置系统如何保留个人文件 win10重装系统怎么保留个人文件 驾驶证处理机关3205850100.是哪个省份的代码,跪求各路大神帮忙,要处理... 江苏省苏州市太仓市交通违章处理需要递交的材料是哪些 南通牌照在江苏省太仓市郑和中路违章可以在太仓市车管所交了罚款扣分... 对于太仓市违章处理在哪里 太仓市违章处理到哪里办理? 牡丹鹦鹉的叫声是什么? 冰爽可口的奶豆花怎么样做味道鲜美,上桌非常受欢迎? 冰镇消暑的奶豆花怎么做? 正宗奶豆腐的做法是什么? 奶豆腐怎么做简单又好吃? 熊果苷原液祛斑有效果吗 熊果苷祛斑的危害 明治维新对日本产生了哪些重大变革? 如何解决FM2008修改器使用时出现的系统运行问题? fm2008更改球员年龄会影响球员能力成长吗? 银行卡短信提醒欠费停掉了,再打钱会扣钱吗 四川农业大学 文科生适合读什么? 四川农业大学有哪些二本专业比较好呢~~!! 四川农业大学园林设计专业文科生可以报考吗?有其他大学也可以说说_百 ... 四川农业大学农林类专业好走吗?我今年只有475.温江校区的农林专业好走... 四川省统计管理条例第三章 统计调查 新闻出版统计管理办法第三章 统计调查管理 北京市统计管理条例第三章 统计调查表管理 计划生育系统统计调查管理办法第三章 统计调查方案的设计 excel表数据对调问题 游戏王! - 决战怪兽 GX - 决战王者游戏攻略 数轴和直角坐标的区别 平面直角坐标系与数轴有什么关系 啤酒鸡翅里面可以加土豆吗 啤酒鸡翅小土豆做法大全 ...苹果版下载侠盗猎车手圣安地列斯老是上传文件失败 鸡翅炖土豆有哪些独特的制作方法? 苹果手机这几天用快用苹果手机助手下载东西,不知道怎么了一下载就"解... 啤酒鸡翅有什么简单的烹饪方法? 啤酒鸡翅如何制作色泽红亮、百吃不厌? 如何烹饪可以使啤酒鸡翅尖的口感更加丰富? 炖啤酒鸡是什么 什么歌歌词里有平民英雄依然坚强的痛苦 戴尔电脑开机后一直黑屏,我就重新启动,按F12键后,进行电脑自检,现在... 魔兽世界怎么提高公会声望?不要说用战袍,那还是要到一定的声望。 魔兽世界,我现在转了个工会,怎么把声望从中立刷到友善? ...65级了,请问如何快速提高工会声望?在85级之前只有做任务么这一种方 ... 为什么我的手机验证码图片显示不出来? 上海农商银行办了硬卡没办软卡我又想办张软卡怎么办密码一样�_百度... 我手机怎么看不见验证码和图片? 为什么我的手机图片和验证码图片打不开?大神们帮帮忙