gpt4 book ai didi

java - 我无法访问对象属性

转载 作者:行者123 更新时间:2023-12-02 10:59:50 25 4
gpt4 key购买 nike

我创建了一个名为 Point 的类。我在 MainActivity 上创建了一个名为“A”的对象。现在我想要 MainActivity 上的一些方法应该读取“A”的属性,但这是不可能的。为什么我无法访问我自制的 Point 类对象“A”?例如,方法“addition”无法读取对象“A”的属性“x”和“y”。为什么?

public class Point {

public int x;
public int y;
public Map <String, Integer> paths = new HashMap<String, Integer>();

}

public class MainActivity extends AppCompatActivity {

Point A, B, C, D;
int i;
TextView tv;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv = findViewById(R.id.tv);

Point A = new Point();
A.x = 1;
A.y = 1;
A.paths.put("B", 1);
A.paths.put("C", 2);

addition();

}

private void addition() {


tv.setText(""+A.x);

}
}

编辑:tv.setText(""+A.x);现在给我一个 NullpointerException

 Caused by: java.lang.NullPointerException: Attempt to read from field 'int com.example.georg.pathfinding.Point.x' on a null object reference
at com.example.georg.pathfinding.MainActivity.addition(MainActivity.java:57)
at com.example.georg.pathfinding.MainActivity.onCreate(MainActivity.java:49)

最佳答案

尝试将您的A点声明为全局

public class MainActivity extends AppCompatActivity {

Point A, B, C, D;
int i;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv = findViewById(R.id.tv);

A = new Point();
A.x = 1;
A.y = 1;
A.paths.put("B", 1);
A.paths.put("C", 2);

addition();

}

private void addition() {

tv.setText(""+A.x);

}

}

关于java - 我无法访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com