Java 你能命名一个抽象类对象吗?

Java 你能命名一个抽象类对象吗?,java,Java,考虑到所有东西都是面向对象的,所以名称必须描述对象以及它是什么,我有一个抽象类,子类从中继承。这些都是屏幕上的对象(这是一个游戏),即玩家和砝码(梯形砝码)。我现在把它命名为Character,但它似乎不合适,因为权重本身不是一个字符,它只继承字符的属性 我可以称这个类为“对象”而不打破惯例吗有人能想出一个更合适的名字吗?从技术上讲,你可以-但这是一个非常非常糟糕的主意,所以不要这样做。 更详细的解释:Java中已有的Object类是Java.lang.Object——因此,您可以在另一个包中创

考虑到所有东西都是面向对象的,所以名称必须描述对象以及它是什么,我有一个抽象类,子类从中继承。这些都是屏幕上的对象(这是一个游戏),即玩家和砝码(梯形砝码)。我现在把它命名为Character,但它似乎不合适,因为权重本身不是一个字符,它只继承字符的属性


我可以称这个类为“对象”而不打破惯例吗有人能想出一个更合适的名字吗?

从技术上讲,你可以-但这是一个非常非常糟糕的主意,所以不要这样做。

更详细的解释:Java中已有的
Object
类是
Java.lang.Object
——因此,您可以在另一个包中创建另一个
Object
类,就像您可以在另一个包中创建另一个
String
类一样,没有任何技术原因。(实际上,从技术上讲,您甚至可以创建自己的
java.lang.Object
,但我甚至不打算去那里!)

然而:

我可以称这个类为“Object”而不打破惯例吗

不打破惯例?一点也不。您不应该在其他地方重复这些常用的类名,尤其是java.lang中的类名。这将被认为是极其糟糕的代码设计


就更好的名字而言,
Actor
Sprite
可能是两个不错的选择。

从技术上讲,你可以-但这是一个非常非常糟糕的主意,所以不要。

更详细的解释:Java中已有的
Object
类是
Java.lang.Object
——因此,您可以在另一个包中创建另一个
Object
类,就像您可以在另一个包中创建另一个
String
类一样,没有任何技术原因。(实际上,从技术上讲,您甚至可以创建自己的
java.lang.Object
,但我甚至不打算去那里!)

然而:

我可以称这个类为“Object”而不打破惯例吗

不打破惯例?一点也不。您不应该在其他地方重复这些常用的类名,尤其是java.lang中的类名。这将被认为是极其糟糕的代码设计


就更好的名称而言,
Actor
Sprite
可能是两个不错的选择。

Java的
对象
类是
Java.lang
包的一部分,该包会自动为每个类文件导入。如果您将类命名为
对象
,而忘记在其他类中显式地导入它,您将遇到问题,认为您使用的是
com.custom.Object
(您的类),但实际上使用的是
java.lang.Object
,即JDK


使用更具描述性的名称,
ApplicationObject

Java的
对象
类是
Java.lang
包的一部分,该包会自动为每个类文件导入。如果您将类命名为
对象
,而忘记在其他类中显式地导入它,您将遇到问题,认为您使用的是
com.custom.Object
(您的类),但实际上使用的是
java.lang.Object
,即JDK


使用更具描述性的名称,
ApplicationObject

是的,您可以。名称旁边的类的路径为package

 package org.stackoverflow

 public class Object {

 }
默认情况下,
java.lang
是禁止使用的包名,因此您不能进行声明

package java.lang

public class Object {

}

类名在整个世界范围内不必是唯一的。使用类路径可以覆盖类的JVM定义

是的,你可以。名称旁边的类的路径为package

 package org.stackoverflow

 public class Object {

 }
默认情况下,
java.lang
是禁止使用的包名,因此您不能进行声明

package java.lang

public class Object {

}


类名在整个世界范围内不必是唯一的。使用类路径可以覆盖类的JVM定义

那是个非常糟糕的主意。Java已经有一个
对象
类。@Ajai:错误<代码>对象
不是关键字。我会给它命名为
Entity
。有很多可供选择的名字,比如
Thing
或者
Blob
。也许你可以利用它的功能,比如说
hashapeandweight
。这是一个非常糟糕的主意。Java已经有一个
对象
类。@Ajai:错误<代码>对象
不是关键字。我会给它命名为
Entity
。有很多可供选择的名字,比如
Thing
或者
Blob
。也许你可以利用它的功能-hashapeandweight
@Vash怎么样,因为它似乎是对这些对象的一个很好的单词描述,而且(更重要的是)它没有可能与核心
java.lang
类发生名称冲突。我知道这是一个糟糕的主意,但我的头脑对所有形式的事情都变得一片空白。在我看来,演员似乎是最合适的,尽管《精灵》同样有效。虽然有人提到我也喜欢的实体。谢谢标记为最佳答案。@Vash,因为它似乎是对这些对象的一个很好的单词描述,而且(更重要的是)它没有可能与核心
java.lang
类发生名称冲突。我知道这是一个糟糕的主意,但我的头脑对所有形式的事情都变得空白。在我看来,演员似乎是最合适的,尽管《精灵》同样有效。虽然有人提到我也喜欢的实体。谢谢标记为最佳答案。在我的书中,即使创建
org.stackoverflow.Object
也是一个非常糟糕的主意。@Vash
java.lang
是一个受限的包。您将不被允许编译这样一个
.java
文件,afaik.@SotiriosDelimanolis,谢谢您的提示。在我的书中,即使创建
org.stackoverflow.Object
也是一个非常糟糕的主意。@Vash
java.lang
是一个受限制的包。游沃