Java:从另一个 class return 调用实例化 getter null

Java: Calling an instanced getter from another class return null

我是 Java 的新手,想提高我的 OOP 技能。 因此,我尝试编写所有 "first programmes" 面向对象的内容。

无论如何...我开始了一个小的原语测试程序:

public class Primitives {

byte b;

private void setByte (byte b)
{
    this.b = b;
}
public byte getByte() 
{
    return b;
}


short s;

private void setShort (short s)
{
    this.s = s;
}
public short getShort() 
{
    return s;
}


int i;

private void setInteger (int i)
{
    this.i = i;
}
public int getInteger() 
{
    return i;
}


long l;

private void setLong (long l)
{
    this.l = l;
}
public long getLong() 
{
    return l;
}


float f;

private void setFloat (float f)
{
    this.f = f;
}
public float getfloat() 
{
    return f;
}



double d;

private void setDouble (double d)
{
    this.d = d;
}
public double getDouble()
{
    return d;
}


boolean bool;

private void setBoolean (boolean bool)
{
    this.bool = bool;
}
public boolean getBoolean() 
{
    return bool;
}


char c;

private void setChar (char c)
{
    this.c = c;
}
public char getChar() 
{
    return c;
}


String str;

private void setString (String str)
{
    this.str = str;
}
public String getString()
{
    return str;
}


public static void main(String[] args) {

    Primitives prim = new Primitives();
    prim.setBoolean(true);
    //prim.setByte(42);
    //prim.setChar("ft");
    prim.setDouble(42.42);
    //prim.setFloat(42);
    prim.setInteger(42);
    prim.setLong(424242);
    //prim.setShort(0);
    prim.setString("fourtytwo");

    //System.out.println(integer.getInteger());
}

}

之后,我试图在另一个 class "Main":

中调用我的 getter
public class Main {

public static void main(String[] args) 
{
    Primitives object = new Primitives();

    int objectInt = object.getInteger();
    String objectString = object.getString();

    System.out.println(objectInt);
    System.out.println(objectString);
}       

}

我的输出是

0
null

这是怎么来的? 我的意思是,我之前实例化(例如 getInt),为什么我收到 0?

我知道这里必须有 1000 个答案,但我找不到合适的答案。

另一个问题: 为什么我的 Setter 中出现 "The method setByte(byte) in the type Primitives is not applicable for the arguments (int)"? (这就是为什么我注释掉某些类型的原因)

您应该在获取它们之前调用 setter 方法并设置值。

您的代码的问题是:您有两个 main class,看起来您是 运行 Main class 不会启动您的变量。

您的 Primitives class 中的另一个 main 方法从未执行,因此您实际上没有启动变量!

每个应用程序应该有一个main class,并且只有一个