我有以下代码:private static double calcTotalMass() { return bike_mass + human_mass; }private static double calcWeight() { return calcTotalMass() * grav_acc; }private static double calcWork() { return calcWeight() * height; }...由于在 Java 中一切都在一个类中,我无法定义全局函数,static因此需要一个访问说明符。在 C++ 中,我可以将第一个函数缩短为double calcTotalMass() { return bike_mass + human_mass; }在朱莉娅它会是calcTotalMass() = bike_mass + human_mass但那是另一回事了。在 C++ 中,访问说明符是成组的,这样private不必为每个方法重复。Java 中是否有类似的东西,或者这就是语言的构建方式?
1 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
不,每个成员都有单独指定的访问权限。
然而
您可以将方法放在嵌套的类/接口中并声明嵌套类型为私有。不幸的是,代码向右倾斜,这从来都不是好事。另外,IIRC,有一些奇怪的东西阻止了
import static
您自己的嵌套类。如果你想费心去测试这些方法,
private
是一个非常糟糕的选择。最好将它们放在单独的“包私有”类或接口中。类成员的默认访问修饰符是“包私有”,这可能是可以接受的。
接口成员的默认访问修饰符
public
很有用。对于成员变量,您还可以将static
.
还有一个 JEP,Concise Method Bodies,它可以让你的代码更短,更像你的 Julia 示例。
(虽然我在这里:方法名称中的“calc”通常是多余的。可变静态是一个非常非常糟糕的主意。)
添加回答
举报
0/150
提交
取消