如何将值从私有类移动到另一个私有类?

时间:2016-03-08 21:54:21

标签: java class return call private

我是java的新手,我不知道如何将私有类中的变量调用到另一个。 目前我正在使用NetBeans 8.1,这里是我想从中获取值的类

public class Mars {
public static String name;
private static int fuel; 
private static int AI;
private static int tecnology;
public void setName(String nm)
{
    name = nm;
}
public void setFuel(int fl)
{
    fuel = fl;
}
public void setAI(int ai)
{
    AI = ai;
}
public void setTecnology(int tc)
{
    tecnology = tc;
}

public String getName()
{
    return name;
}
public int getFuel()
{
    return fuel;
}
public int getAI()
{
    return AI;
}
public int getTecnology()
{
    return tecnology;
}

private static class name {
public name(){
    name = "unknown";
}
}
private static class fuel{
public fuel() {
    fuel = 50;
    if ((fuel >100) || (fuel <0))
    {System.out.println("\nError!");
                          System.exit(0);}}}

private static class AI {
public AI() {
    AI = 5;
    if ((AI >10) || (AI <1))
    {System.out.println("\nError!");
                          System.exit(0);}}}
private static class tecnologiy {
public tecnologiy() {
    tecnology = 5;
    if ((tecnology >10) || (tecnology <1))
    {System.out.println("\nError");
                          System.exit(0);}}}

}

这是我想要放置值的类:

public class Space_Battle {

public static void main(String[] args) {
Mars Call1 = new Mars();
System.out.println("\nThe alien named " + Mars.name + " joined the battle" );
}

}

自然每一次修正都会非常感激! :-D 附:如果这个问题是荒谬的话,我很抱歉。

2 个答案:

答案 0 :(得分:1)

将您的代码更改为此...

public class Space_Battle {
    public static void main(String[] args) {
        Mars mars = new Mars();
        System.out.println("\nThe alien named " + mars.getName() + " joined the battle");
    }

当您创建对象的实例时,您应该通过安全访问器访问它,即getter方法,getName()等。

从私有变量中删除静态声明。

答案 1 :(得分:0)

你不能直接将值设置为来自另一个类的私有变量,这就是为什么它们是私有的。

来实例化所述类的对象。

示例:

Mars call1= new Mars();

然后您可以为该对象设置值。

call1.setName("whatever");

然后获取对象的值只需使用getter。

 call1.getName();

然后打印出来:

System.out.println("\nThe alien named " + call1.getName() + " joined the battle" );

另外,从变量中删除静态。

我还鼓励您阅读“this”关键字。

我建议您阅读本文档: https://docs.oracle.com/javase/tutorial/java/concepts/object.html