Java:如何访问另一个类的变量
我有一个类GameScreen,它有一个类精灵的实例(我将实例命名为GameScrites)。在精灵中有一个第三类的实例,我把它命名为敌人 我的问题是,我可以从GameScreen访问敌人中的变量吗? 我可以键入游戏精灵.敌人.变量名称吗?Java:如何访问另一个类的变量,java,class,Java,Class,我有一个类GameScreen,它有一个类精灵的实例(我将实例命名为GameScrites)。在精灵中有一个第三类的实例,我把它命名为敌人 我的问题是,我可以从GameScreen访问敌人中的变量吗? 我可以键入游戏精灵.敌人.变量名称吗? 我可以为两个以上不同的类继续这样做吗?在Java世界中,不建议这样做。您可以通过objectName.memberName进行访问,因为您的成员属性是公共属性。作为惯例,我们通常保持成员的私有性,并使用getter和setter来访问值 回到你的问题上来,你
我可以为两个以上不同的类继续这样做吗?在Java世界中,不建议这样做。您可以通过objectName.memberName进行访问,因为您的成员属性是公共属性。作为惯例,我们通常保持成员的私有性,并使用getter和setter来访问值
回到你的问题上来,你可以通过这种方式访问任何级别,因为每个成员都是公开的。比如说,gameSprites.friends.enemy1.enemy1Army.solder1在gameSprites类中是公共的、enemy1在friends类中是公共的等情况下也是可能的。这确实是任何OOP语言的非常基本的东西。在我看来,你应该花一些时间研究那些基本的东西,否则当你从这个问题出发时,你很有可能会陷得更深。然而,下面是一个如何从另一个类访问另一个类的变量的示例。
如果您的变量是私有的,则需要使用Public方法来访问该变量。 假设我有你的这门课
package com;
public class Enemies {
private final String name="HELLO";
public final String names="This is public Variable";
public static String name2="HELLO THIS IS STATIC";
public Enemies(){};
public String getName(){
return name;
}
}
在这个精灵类中,就像你的要求一样,我创建了一个实例
package com;
public class Sprites {
public Sprites(){};
Enemies enemies = new Enemies();
}
这是虚拟游戏屏幕类
package com;
public class GameScreen {
public static void main(String...strings){
Sprites gameSprites = new Sprites();
System.out.println(gameSprites.enemies.names);
String name=gameSprites.enemies.name2;// This is Highly Discouraged Approach
System.out.println(name);
System.out.println(gameSprites.enemies.getName());
}
}
以及运行此代码时的输出
This is public Variable
HELLO THIS IS STATIC
HELLO
所以,您试图实现的目标可以针对公共变量和静态变量完成(不鼓励这样做)。对于private,您需要有一个公共方法来访问该变量。如果存在类“敌人”的公共属性,则可以访问该变量。但你做得不对。您应该将这些属性设置为私有,然后创建公共方法(getter/setter)来访问这些对象的属性。您遇到了什么错误?