小编MdT*_*MdT的帖子

Java - 为什么ClassName.this.variable在变量是静态时工作?

我试图完全理解"这个"是如何工作的.在我之前的帖子中,我理解为什么我们使用"this"关键字.

我对static的理解是该类有该成员的一个副本."this"用于表示当前对象.对于所有对象,静态成员变量是相同的,那么为什么"this"对静态成员变量起作用?

码:

public class OuterInnerClassExample
{
    public static void main(String[] args)
    {
        OuterClass outClassObj = new OuterClass(10);
        outClassObj.setInt(11);
        outClassObj.setInt(12);

        System.out.println("Total Count: " + outClassObj.getCount() );
    }
}

class OuterClass
{
    private int test;
    private static int count;       // total sum of how many new objects are created & the times all of them have been changed

    public OuterClass(int test)
    {
        this.test = test;
//      count += 1;                 // preferred as count is static
        this.count += 1;            // …
Run Code Online (Sandbox Code Playgroud)

java static class this object-composition

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

尝试使用string作为键和double作为值在java中创建哈希表

在以下程序中:

import java.util.*;

public class HashTableStringdouble
{
//  private Hashtable<String, double[]> model  = new Hashtable<String, double[]>();;
    private Hashtable<String, double> model  = new Hashtable<String, double>();;                // this does not work

    public static void main(String args[])
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

有双[]但不是双倍.它给出以下错误:

HashTableStringdouble.java:7:错误:意外类型private Hashtable model = new Hashtable();; //这不起作用^ required:reference found:double HashTableStringdouble.java:7:error:unexpected type private Hashtable model = new Hashtable();; //这不起作用^必需:引用找到:double 2错误

我不确定我在这里做错了什么.请解释一下Hashtable的工作原理.

java string double hashtable

3
推荐指数
2
解决办法
8177
查看次数

Java - 什么时候"这个"是唯一的出路?

var = putVar;以下代码运行 ; & this.var = putVar;

我理解:"this"用于识别 - "将此值仅用于'我的'对象".当两者都有效时,为什么人们通常在制定者中使用"这个"?

码:

public class PlayingWithObjects
{
    public static void main(String[] args)
    {
        SomeClass classObj = new SomeClass(10);

        System.out.println("classObj.getVar: " + classObj.getVar() );

        classObj.setVar(20);

        System.out.println("classObj.getVar: " + classObj.getVar() );

        classObj = new SomeClass(30);

        System.out.println("classObj.getVar: " + classObj.getVar() );
    }
}

class SomeClass
{
    private int var;

    public SomeClass(int putVar)
    {
        var = putVar;
    }

    public int getVar()
    {
        return var;
    }

    public void setVar(int putVar)
    {
//      var = putVar; …
Run Code Online (Sandbox Code Playgroud)

java setter class object this

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

标签 统计

java ×3

class ×2

this ×2

double ×1

hashtable ×1

object ×1

object-composition ×1

setter ×1

static ×1

string ×1