Java 我无法访问对象属性

Java 我无法访问对象属性,java,class,object,Java,Class,Object,我制作了一个名为Point的类。我在MainActivity上创建了一个名为A的对象。 现在我想要MainActivity上的一些方法,它们应该读取A的属性,但这是不可能的。为什么我不能访问我自制的类Point对象? 例如,方法加法无法读取对象A的属性x和y。为什么 public class Point { public int x; public int y; public Map <String, Integer> paths = new HashMap

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

public class Point {

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

}
编辑:tv.setText+A.x;现在给我一个NullPointerExection

 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);

        }

    }

将值传递给您的方法:-

public class MainActivity extends AppCompatActivity {

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

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

        addition(A.x, A.y);

    }

    private void addition(int a, int b) {

         int i;
         i = a + b;

    }

}

因为对象A在方法添加中不可访问。尝试将对象传递到加法方法,或将对象设为全局对象。尝试从EDI中空对象引用上的字段“int com.example.XXX.pathfinding.Point.x”中读取,或将其标记为红色,但正在运行应用程序导致此错误。请尝试tv.setTexti+;在加法的末尾。这对我来说不起作用me@Georq认真地说,我的朋友,你检查了我的答案了吗?你需要声明你的A点是全局的,A点是我的答案,从oncreate中删除A点,就像更新的答案一样对不起,我的错,错过了从oncreate中删除A点。谢谢你的帮助。
public class MainActivity extends AppCompatActivity {

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

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

        addition(A.x, A.y);

    }

    private void addition(int a, int b) {

         int i;
         i = a + b;

    }

}