Android / Java – 如何在单独的* .java文件中调用函数?

我导入了完整的包名/ 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();
   }
}

正如乔恩所提到的,如果你在潜水之前阅读面向对象的编程,你可能会省去一些挫折.在潜入之前,新程序员需要了解一些基本的东西.祝你好运!

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...