Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 相当于基本';s模块_Java_Android - Fatal编程技术网

Java 相当于基本';s模块

Java 相当于基本';s模块,java,android,Java,Android,我的Android应用程序包含一些很少有活动使用的功能。 此时此刻,这看起来像: MainActivity extends Activity { ... public static int someFunction(int arg1) { return arg1 * arg1; } } 从其他活动调用MainActivity.someFunction(arg1)。工作正常,但看起来很难看。我认为Basic的构造“模块”(所有成员都是静态的,只有静态构造函数可用,默认情况下,成员调用时

我的Android应用程序包含一些很少有活动使用的功能。 此时此刻,这看起来像:

MainActivity extends Activity {
 ...
 public static int someFunction(int arg1) {
  return arg1 * arg1;
 }
}
从其他活动调用
MainActivity.someFunction(arg1)
。工作正常,但看起来很难看。我认为Basic的构造“模块”(所有成员都是静态的,只有静态构造函数可用,默认情况下,成员调用时没有模块名称)更适合它,因为它允许在“视图”和“引擎”上划分应用程序逻辑。据我所知,Java没有这样的结构:

module FN {
 public int someFunction(int arg1) {
  return arg1 * arg1;
 }
}

请给我一些建议,比如它是否存在。

你可以做一些类似工具箱的事情

public class Toolbox {

    public int myFunction(int arg1) {
        return arg1 * arg1;
    }

}
然后在类中实现它:

public class MyClass {

    private Toolbox t = new Toolbox();

    public void doSomething(int arg1, int arg2) {
        int val = t.myFunction(arg1) + t.myFunction(arg2);
    }

}

当然,您可以将该方法设置为静态,但随后必须调用
Toolbox.myFunction
。与基本模块相比,这可能过于冗长。

您可以做一些类似于工具箱的事情

public class Toolbox {

    public int myFunction(int arg1) {
        return arg1 * arg1;
    }

}
然后在类中实现它:

public class MyClass {

    private Toolbox t = new Toolbox();

    public void doSomething(int arg1, int arg2) {
        int val = t.myFunction(arg1) + t.myFunction(arg2);
    }

}

当然,您可以将该方法设置为静态,但随后必须调用
Toolbox.myFunction
。与基本模块相比,这可能过于冗长。

您可以使用静态导入获得与基本模块类似的用法。如此处所述:

静态导入构造允许对静态成员进行非限定访问,而无需继承包含静态成员的类型。相反,程序会单独导入成员:

导入静态java.lang.Math.PI

或全体:

导入静态java.lang.Math.*

导入静态构件后,可在无需鉴定的情况下使用:

double r=cos(π*θ)


您可以使用静态导入获得与基本模块类似的用法。如此处所述:

静态导入构造允许对静态成员进行非限定访问,而无需继承包含静态成员的类型。相反,程序会单独导入成员:

导入静态java.lang.Math.PI

或全体:

导入静态java.lang.Math.*

导入静态构件后,可在无需鉴定的情况下使用:

double r=cos(π*θ)


我想你指的是一个VB模块(基本上是一个方法和/或变量的容器)的等价物。尝试使用
Class
。问题是关于java的,因此这不是答案,但您也可以使用Kotlin,它允许您在Kotlin文件中定义方法,而无需定义classI。假设您引用的是等效的VB模块(基本上是方法和/或变量的容器)。尝试使用
Class
。问题是关于java的,因此这不是答案,但您也可以使用Kotlin,它允许您在Kotlin文件中定义方法,而无需定义类