Tag: 对象

访问其他类的对象

我最近选择了Java并遇到了问题。 我有几个具有不同类的文件,但我无法弄清楚如何访问除声明它们之外的文件中的其他类的对象。例如: player.java: public class Player { public static void main(String[] args) { Player player = new Player(); } public int getLocation() { return 2; } } monster.java: public class Monster { public void attackPlayer() { player.getLocation(); } } 我不确定如何从其他文件和类本身有效地访问其他类的这些对象? 我知道我可以将对象设置为静态,然后通过它们制作的类将它们作为变量访问,但这看起来相当直观? 我来自一个不那么面向对象的编程背景,所以我仍然试图理解java的编程风格。

使用new运算符的多少String对象

当我们使用new运算符创建一个String对象时,我读到创建了两个对象,一个Object是字符串常量池,第二个是堆内存。 我的问题是我们正在使用new运算符,因此只应在Heap中创建一个对象。 为什么然后必须在String Constant池中创建另外一个对象。 我知道只要我们不使用new运算符来创建String,Java就会存储String对象。 例如: String s = “abc” . 在这种情况下,它只会在String常量池中创建。 String s2 = new String(“abc”) 只有一个对象可以在堆中创建,而不是在常量池中创建。 请解释我在这里错的原因。

用Java复制对象

我有一个需要用Java复制的对象。 我需要创建一个副本并在其上运行一些测试而不更改原始对象本身。 我假设我需要使用clone()方法,但这是受保护的。 在网上做了一些研究之后,我可以看到这可以用我class上的公共方法覆盖。 但我找不到如何做到这一点的解释。 怎么可以这样做? 此外,这是实现我需要的最佳方式吗?

Java变量未初始化错误

我在Java程序中收到以下错误: Java变量未初始化错误…错误:变量nam和r未初始化位置类子 但是nan和r已经初始化了,但我仍然得到同样的错误。 public class cla { int rn; String name; void get(String a, int x) { name = a; rn = x; } void display() { System.out.println(“student name: ” + name + “roll no.:” + rn); } } import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class child { public static void main(String args[]) throws […]

为什么String不需要新的关键字

我是java的新手。 在java中, String是一个class 。但是我们不必使用new关键字来创建类String的对象,其中new用于为其他类创建对象。 我听说过类似于Integer , Double Wrapper类。 但String不是Wrapper,不是吗? 实际上当我使用时发生了什么 String message = “Hai”; ?? 它有什么不同 String message = new String(“Hai”); 这是message引用变量还是其他什么? 还有其他类不需要new来创建对象吗?

如何实现对java对象的引用?

指针是否仅用于实现java引用变量或它是如何实现的? 以下是Java语言规范中的行 4.3.1对象对象是类实例或数组。 引用值(通常只是引用)是指向这些对象的指针,以及一个特殊的空引用,它指的是没有对象。 这是否意味着它一直是指针?

在Java中编写地图文字样式是否有最佳实践?

简而言之,如果你想在Java中编写一个例如常量的映射,例如Python和Javascript,你会把它写成文字, T CONSTANTS = { “CONSTANT_NAME_0”: CONSTANT_VALUE_0 , “CONSTANT_NAME_1”: CONSTANT_VALUE_1 , “CONSTANT_NAME_2”: CONSTANT_VALUE_2 , //… } ; 是否有一个Class或任何预设Object可用于编写这样的数据结构?

在为对象分配int时,Java是否会自动装箱?

这是自动装箱吗? Object ob = 8; 上面的代码首先将int literal 8包装在Integer中,然后将其引用分配给变量ob吗? 因为java语言规范在这种情况下没有任何内容。

如何将JSONArray转换为JSONObject?

基本上我有: JSONArray j = new JSONArray(); j.add(new JSONObject()); //JSONObject has a bunch of data in it j.add(new JSONArray()); //JSONArray has a bunch of data in it 现在我想将JSONArray转换为具有相同信息的JSONObject 。 这样我就可以传递Object然后当我想要时我可以从对象中获取所有信息。 任何帮助将不胜感激,谢谢。

Java,调用对象方法,ar arylylist

基于这个问题增量变量名称? 我有一个arraylist’peopleHolder’,它拥有各种“人物”物品。 我想基于for循环自动创建’person’对象。 我做了以下 peopleHolder.add(new person()); 我想从人类课程中调用方法。 例如person.setAge; 如何通过arraylist调用此类方法? 我想方法为每个对象设置值。 我看过这个答案: Java – 调用ArrayList中对象的方法 但我认为解决方案依赖于调用静态方法,并且我希望在存储对象值时让对象特定于该对象。 谢谢