我导入了完整的包名/ java文件,如果我执行< classname>.< method>,有时我可以访问它 – 有时我得到很多不能使用静态的非静态的谈话.
我承认我是Java的新手,所以我需要做什么?先调用一个类实例,然后调用我的方法?我对此感到困惑,因为我想将所有’函数’放入一个FunctionsList.java文件中,并将所有主要的Activity(UI)放入MyActivity.java文件中.
例如:
<MyActivity.java>
import com.example.FunctionsList;
private class MyActivity extends Activity {
FunctionsList.function();
}
9/10次我得到静态/非静态错误.
如果我将所有函数都放入MyActivity.java中,我就没有问题!任何人都可以帮助我,我认为这是一个基本的Java新手问题?
解决方法:
这是一个有希望帮助你的例子.
public class MyFunctionClass {
public String myFunction() {
return "This is an instance function.";
}
public static String myStaticFunction() {
return "This is a static function.";
}
}
然后在你的活动中,你有类似的东西.
public class MyActivity extends Activity {
@Override
public void onCreate() {
// If you want to call your static function, you do not
// require an instance of a MyFunctionClass object.
String myStaticString = MyFunctionClass.myStaticFunction();
// If you want to call your instance function, then you need
// to create a MyFunctionClass first.
MyFunctionClass variableName = new MyFunctionClass();
String myInstanceString = variableName.myFunction();
}
}
正如乔恩所提到的,如果你在潜水之前阅读面向对象的编程,你可能会省去一些挫折.在潜入之前,新程序员需要了解一些基本的东西.祝你好运!