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