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

关于JAVA中this的应用

发布网友 发布时间:2022-03-23 00:04

我来回答

5个回答

热心网友 时间:2022-03-23 01:33

this.a →private int a;

this.b →private int b;
因为类成员变量有a,b,这个方法中传有参数a,b。用this表示的是类成员变量a,不用this表示此方法传过来的参数a
不用this也可以,但是参数名得变,如下:
interface A
{
void show();
}
interface B
{
void add(int a,int b);
}
class C implements A,B
{

private int a,b;

public void show()
{
System.out.println(a+b);

}
public void add(int c,int d)
{
a = c
b = d;
}

class D
{
public static void main(String[] args)
{
C c=new C();
c.add(4,2);
c.show();//通过该函数打印以上两个数的和。
}
}

热心网友 时间:2022-03-23 02:51

您好,提问者:
    来看一个例子:

public class Hello{
private String name;

public Hello(String name){
name = name;  //应该是  this.name = name;
}

public static void main(String[] args){
Hello h1 = new Hello("asd"); //构造方法传值
Hello h2 = new Hello("dsa"); //构造方法传值
System.out.println(h1.name); //没用this输出的是null
System.out.println(h2.name); //没用this输出的是null
//如果把下面代码改为:
/*public Hello(String names){
    name = names  //这个时候输出就是asd   dsa
}*/ 
//1、也就说this关键是跟随new对象走的。
//2、this关键字用于区分类属性与方法局部变量。
}
}

热心网友 时间:2022-03-23 04:26

答案是不可以.

public void add(int a,int b)
{
this.a = a; //a=a; 毫无作用只是给把局部变量自己的值付给他自己
this.b = b;
}

如果你改成 a = a; b = b; 编译器会提示*warning "The assignment to variable b has no effect"

因为你的class 私有变量和add 中的参数 取了相同的名字, 但是在add中他如果你不加this 他就会把你的a,b当做你传入的参数. 

热心网友 时间:2022-03-23 06:17

可以。不过最好加上this,可以让你更好的理解代码。如果你的传参名称不是a、b,那无所谓,但是你的传参名称是a、b,所以必须用this来区分一下

热心网友 时间:2022-03-23 08:25

当你定义了private的时候你已经不能调用a,b因为它已经被私有了,所以要用this来调用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
立秋后钓鱼什么风向好-立秋钓鱼风向怎么选 赱乂砉込儬 怎么读 "赱"读什么? 解决电脑无法搜索到iPhone热点的问题如何修复iPhone热点无法在电脑上显... 电脑搜不到iphone12热点 iphone开热点给电脑搜不到 国企的地产有哪些 国企下设公司是什么意思? 红加蓝加绿是什么色. 梦幻西游75级开三倍抓鬼一轮有多少经验 简述Java中This和 Super关键字的使用 this和super 关键字有什么作用 Java中怎么使用this关键字?什么时候可以使用? java 中this关键字的作用,求详细的解答 javascript中this关键字是什么意思,在那些场合使用 java 中this关键字的作用是什么? java中this关键字有什么作用,详细点,需要例子解析 js中this关键字如何应用? java 的this的运用? java 中的this关键字的几种用法 java中this的关键字用法是什么? C#中this关键字的作用是什么? 简要说明super关键字和this关键字的用法 3. this关键字可以用来调用哪些结构,简单说明一下其使用? this关键字主要应用于哪些场合? this关键字有什么用? 没有耳机孔的手机有哪些 为什么小米手机没有耳机却显示插了耳机 小米11没有耳机孔怎么办? 小米手机以后就没有耳机孔了吗 C#:关于this关键字的作用 Java中怎么使用this关键字,和在什么时候可以使用.内容越详细越好.我在这里先谢过了...... 华为miracast投屏在哪 如何找到手机的MIRACAST 手机的Miracast功能在哪 华为mate7中的“miracast”选项在哪设置? 华为手机的无线显示功能怎么使用 华为如何找到miracast 华为mate7中的miracast选项在哪 华为8Amiracast设置在哪? 华为的无线投屏怎么用 华为手机如何连电视 华为手机的无线显示功能在哪里连接和电视互屏的功能? 华为MLA-AL00是什么机型? huawei mla-al00是什么机型 华为MLA一ALoo是什型号 华为手机有MLA-AL00这个型号吗? 华为mal一al00是什么型号 华为mla-al00是什么cpu 华为mla-ul00是什么型号