Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从静态调用非静态方法后,应用程序停止工作?_Java_Android - Fatal编程技术网

Java 从静态调用非静态方法后,应用程序停止工作?

Java 从静态调用非静态方法后,应用程序停止工作?,java,android,Java,Android,当我试图从Class2中的static调用Class1中的非静态方法init()时,我的应用程序停止工作 Class1.java: public class Class1 extends Activity { public void init() { ... } } Class2.java: ... Class1 var = new Class1 (); var.init(); ... 编译器没有显示任何错误,但应用程序仍然崩溃。有人知道问题出在哪里吗。你不能

当我试图从
Class2
中的static调用
Class1
中的非静态方法
init()
时,我的应用程序停止工作

Class1.java:

public class Class1 extends Activity {
    public void init() {
        ...
    }
}
Class2.java:

...
Class1 var = new Class1 ();
var.init();
...

编译器没有显示任何错误,但应用程序仍然崩溃。有人知道问题出在哪里吗。

你不能自己创建
新的
活动的实例,你必须让系统来做

您可能希望创建一个启动
Class1
实例的
Intent
,然后可以将代码放入
活动
子类的各种生命周期方法中


这些都是Android的基本概念——阅读一些文档,获取一些示例代码,然后从那里开始工作,而不是从头开始

您在logcat中看到的错误是什么?在
var.init()
周围添加一个try/catch块,并在logcat上强制执行日志。或者逐行调试
init()。再看一遍,请张贴日志。您还应该花时间理解编译器错误和运行时错误之间的区别,因为在修复编译器错误之前,您无法获得运行时错误。编译器中没有错误并不意味着应用程序中没有错误。e、 g.
intx=0;int y=5;intz=y/x编译得很好,但请尝试运行它!我也不理解你的问题,因为Java没有静态类。您没有显示任何静态的内容。