getHeight()和常量(java)

编年史

我编写的代码使用GraphicsProgram中屏幕的宽度和高度绘制框,在框中我做其他事情。这些框将是屏幕垂直尺寸(高度)的1/6。

我现在拥有的方式是在我的run方法中,创建一个像这样的变量:

int boxHeight = getHeight() / 6;

然后我转到其他这样的方法:

placeBox(boxHeight);

在我的placeBox方法中,我得到的变量是这样的:

private void placeBox(int boxHeight) { ..code.. }

一切正常,但是我想知道是否可以改为使用常量,我可以在运行方法之前声明如下常量:

private static final int constantBoxHeight = getHeight() / 6;

但是,这给了我以下编译器错误:

non-static method getHeight() cannot be referenced from a static context

所以我的问题是:我是否以正确的方式实现了常量?如果没有,如何正确实施?另外,如果我尝试做的事情甚至是可能的,那么使用常量而不是将变量从run方法移动到其内部的方法,然后再将其移动至其内部的其他方法有什么好处?

getHeight()是从acm.graphics导入的。*

只是

您的常量是一个静态字段,但是您使用从实例方法的返回值派生的值对其进行了初始化。实例方法需要一个实例。静态字段不属于实例,因此无法使用实例方法进行初始化。

只要您没有另一种获取高度的方法,您就将首先需要该类的实例。在这种情况下,我个人不会使用常量,因为在重构代码和使用实例成员或局部变量方面没有(或至少很少)缺点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java中的常量和属性

来自分类Dev

Java中的.getWidth()、. getHeight()

来自分类Dev

Java中的.getWidth()、. getHeight()

来自分类Dev

Android-getHeight()和getWidth()

来自分类Dev

getheight()和getmeasuredheight()之间的区别

来自分类Dev

无法让.getwidth()和.getheight()工作

来自分类Dev

Java常量常量类

来自分类Dev

Java和Swift中常量和变量的比较

来自分类Dev

JFrame getHeight()和getWidth()返回0

来自分类Dev

ImageButton.getWidth()和getHeight()返回0

来自分类Dev

ImageButton.getWidth()和getHeight()返回0

来自分类Dev

getHeight() 和 getWidth() 都返回 0

来自分类Dev

Android Studio和Java编译器不是SDK常量

来自分类Dev

Java常量表达式和代码消除

来自分类Dev

Java-字符串和常量池

来自分类Dev

Ruby和Java的final关键字中的常量

来自分类Dev

常量值和RVO

来自分类Dev

区分变量和常量

来自分类Dev

常量和非常量函子

来自分类Dev

从相机获取图像时,布局getHeight()和getWidth()返回0

来自分类Dev

用的JPanel,的getWidth和getHeight我的奋斗[解决]

来自分类Dev

java - 如何在java中拥有常量初始化向量和密钥?

来自分类Dev

Java中的常量数组

来自分类Dev

为什么Java的BigInteger将TEN和ONE作为常量?有实际用途吗?

来自分类Dev

java中的常量变量和最终变量之间有什么区别?

来自分类Dev

我应该如何在Java中指定Asian char和String常量?

来自分类Dev

整数和整数的 Java 行为更改中所需的常量表达式

来自分类Dev

Java - 常量可以存储和计算其中的其他变量吗?

来自分类Dev

Coffeescript和nodeJS中的常量