关于引用方法和变量的 Java 约定

标签 java object coding-style naming-conventions

Java约定10.2节建议使用类名代替对象来使用静态变量或方法,即MyClass.variable1MyClass.methodName1()代替

MyClass Obj1 = new MyClass();    
Obj1.variable1;
Obj1.methodName1();

虽然我怀疑这与内存使用有关,但没有解释这背后的基本原理。如果有人可以解释这一点,那就太好了。

最佳答案

我猜你的意思是“对于静态方法和变量”。

在内存方面没有区别,除非您创建实例只是为了调用方法。约定不是为了内存效率,而是为了编码效率,这与代码的可读性直接相关。

理由是通过阅读

MyClass.methodName1()

您知道这是一个静态方法,它不能使用或更改您的 Obj1 实例。

如果你写

obj1.variable1; // note the "o" instead of "O", please do follow conventions

那么读者必须阅读您的源代码才能知道 variable1 是否是静态的。

关于关于引用方法和变量的 Java 约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12174573/

相关文章:

javascript - 编码中注释 'Go Horse'是什么意思?这是某种过程吗?

jquery - 设置div jquery的宽度

java - jdbc - sql server 在控制台中未显示任何输出/错误

java - 如何在不为每个资源定义默认处理程序的情况下覆盖所有 404 页面?

javascript - 如何使用 Node.js 以 70 个请求/秒的速度分发唯一优惠券代码

java - 对象实例中的列表列表(java)

java - 在 Spring JPA 中保存对象之前触发

java - 有没有办法从现有代码库生成 checkstyle 的 supressions.xml 文件?

c# - 什么是存储大量对象的好方法,这些对象将被持久地修改/搜索?

php - 处理数据库连接的策略: To 'close it immediately' or 'when script is over' ?