Java 通过强制转换类而导致的错误

Java 通过强制转换类而导致的错误,java,class,casting,Java,Class,Casting,我已经为全局变量创建了另一个类,现在我只想这样强制转换它: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); class2 global; global = (class2)getApplicationContext(); 我得到一个错误: a

我已经为全局变量创建了另一个类,现在我只想这样强制转换它:

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

    global = (class2)getApplicationContext();
我得到一个错误:

android.app.Application无法强制转换为eu.tools.test\u training\u home.class2

class2

public class class2 extends Application {

    private String name="name1";
    private int number =0;

这里
getApplicationContext()
返回类
Context
的对象,但不是
class2

检查


参见

问题出在2级的构造员身上 在第二类中,我有一个构造器,两个二传手,两个获得者 我已经删除了构造函数,然后错误没有出现

public class class2 extends Application {

private String name ="name1";
private int number =10;

public class2(String name, int number) { // this was the problem
    this.name = name;
    this.number = number;
}

public void setName(String name) {
    this.name = name;
}

public void setNumber(int number) {
    this.number = number;
}

public String getName() {
    return name;
}

public int getNumber() {
    return number;
}

}

您正试图将对象从上下文类强制转换为应用程序对象。它可能是可能的。对不起,我的意思是“不能”。我建议您遵循标准的Java命名约定@testest。我在将constructor添加到类2后得到错误:之前没有错误。