相关疑难解决方法(0)

Java - 何时使用'this'关键字

this在Java中使用关键字的最佳做法是什么?例如,我有以下类:

class Foo {
    Bar bar;

    public Foo(Bar bar) {
         this.bar = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好,但是如果我将构造函数中的语句更改为,Java就足够聪明地知道发生了什么

 bar = bar;
Run Code Online (Sandbox Code Playgroud)

那么为什么要使用this关键字?(我知道在某些情况下,使用它是完全必要的,我只是要求这样的情况).实际上,我倾向于纯粹为了可读性而使用关键字,但通常的做法是什么?例如,在整个商店中使用它会使我的代码看起来有些混乱

boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
Run Code Online (Sandbox Code Playgroud)

显然是一个糟糕的代码,但它说明了我的例子.在这些情况下,这仅仅取决于个人偏好吗?

java coding-style this

68
推荐指数
6
解决办法
7万
查看次数

为什么我必须使用"this"关键字进行前向引用?

当我使用this关键字访问类中的非静态变量时,Java不会给出任何错误.但是当我不使用它时,Java会出错.我为什么要用this

我知道通常应该什么时候使用this,但这个例子与正常用法非常不同.

例:

class Foo {
//  int a = b; // gives error. why ?
    int a = this.b; // no error. why ?
    int b;
    int c = b;

    int var1 = this.var2; // very interesting
    int var2 = this.var1; // very interesting
}
Run Code Online (Sandbox Code Playgroud)

java class this forward-reference

59
推荐指数
2
解决办法
5241
查看次数

在java中使用关键字"this"

我试图了解java关键字this实际上做了什么.我一直在阅读Sun的文档,但我仍然对this实际操作有些模糊.

java keyword

19
推荐指数
4
解决办法
6万
查看次数

什么时候在Java中使用"this"是合适的

可能重复:
我什么时候应该在课堂上使用"this"?

在引用实例的字段时,如何知道是否使用"this"?

例如:

return this.name
Run Code Online (Sandbox Code Playgroud)

我被教了一个有用的案例.即当输入参数与字段名称相同时:

public void setName(String name) {
    this.name = name;
}
Run Code Online (Sandbox Code Playgroud)

除此之外,"这个"似乎不需要..还有什么其他案例?

java

13
推荐指数
2
解决办法
473
查看次数

在java中哪里使用"this"?

据我所知,这用于以下情况:

  1. this 当我们想要引用与本地变量具有相同名称的实例变量时,使用关键字.
  2. 将一个构造函数调用到同一个类中的其他构造函数
  3. 将类实例作为参数传递给方法.
  4. 访问外部类变量.

但我已经完成了他的项目代码,他们在getter中使用它,如:

class a {
    int time;

    int getValue() {
        return this.time * 5.;
    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,每个对象都有自己的实例变量和方法副本,因此以这种方式返回是有道理的.请澄清.

提到Stackoverfow问题:什么时候应该在课堂上使用"this"?

java this getter-setter

6
推荐指数
2
解决办法
307
查看次数

编程语言中"明确地"和"隐含地"之间有什么区别?

我希望能够清楚准确地理解两者之间的区别.

this用于隐式引用还是显式的关键字也是?这也是我想要在两者之间澄清的原因?

我假设使用this关键字is隐式引用(是类的东西)而显式(不属于类本身)就像传递给方法的参数变量一样.

当然,我的假设显然是错误的,这就是我在这里要求澄清的原因.

java android explicit

4
推荐指数
2
解决办法
4066
查看次数

为什么我们不在吸气剂中使用“this”?

例如,假设我们有一个名为的对象car,它是类的一部分Cars并且有一个color属性。假设我们有一个颜色吸气剂:

public String getColor(){
  return color;
}
Run Code Online (Sandbox Code Playgroud)

但不应该是这样吗this.color?如果没有,为什么?

java oop object

4
推荐指数
1
解决办法
1249
查看次数

这指的是当前的对象.但无法理解以下行为

class Person
{
    string name;

    public Person(string name)
    {
        this.name = name;
    }

    public void method()
    {
        Person gupta = new Person("James"); // Current Object
        Console.WriteLine(this.name);
        Person gupta1 = new Person("Peter");  // Current Object
        Console.WriteLine(this.name);
        Person gupta2 = new Person("Frank");  // Current Object
        Console.WriteLine(this.name);
    }

    static void Main(string[] args)
    {
        Person p = new Person("Jim");
        p.method();
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码产生了结果

Jim
Jim
Jim
Run Code Online (Sandbox Code Playgroud)

但是,如果认为这应该是

James
Peter
Frank
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

c# this

2
推荐指数
1
解决办法
1921
查看次数

Java toString方法(对象)

class Position {

    private double x,y;
    private int id;

    public String toString(Position a){

        String words ="(" + a.x + "," +a.y + ")";
        return words;
Run Code Online (Sandbox Code Playgroud)

所以我在这里得到了一个内存地址.我究竟做错了什么?我想获得使用setter设置的x和y的实际值.我也有吸气剂,我试过而不是把斧头放入getX(),但这仍然给我另一个内存地址.我究竟做错了什么?

java string object

1
推荐指数
1
解决办法
3499
查看次数