Java 你能命名一个抽象类对象吗?
考虑到所有东西都是面向对象的,所以名称必须描述对象以及它是什么,我有一个抽象类,子类从中继承。这些都是屏幕上的对象(这是一个游戏),即玩家和砝码(梯形砝码)。我现在把它命名为Character,但它似乎不合适,因为权重本身不是一个字符,它只继承字符的属性Java 你能命名一个抽象类对象吗?,java,Java,考虑到所有东西都是面向对象的,所以名称必须描述对象以及它是什么,我有一个抽象类,子类从中继承。这些都是屏幕上的对象(这是一个游戏),即玩家和砝码(梯形砝码)。我现在把它命名为Character,但它似乎不合适,因为权重本身不是一个字符,它只继承字符的属性 我可以称这个类为“对象”而不打破惯例吗有人能想出一个更合适的名字吗?从技术上讲,你可以-但这是一个非常非常糟糕的主意,所以不要这样做。 更详细的解释:Java中已有的Object类是Java.lang.Object——因此,您可以在另一个包中创
我可以称这个类为“对象”而不打破惯例吗有人能想出一个更合适的名字吗?从技术上讲,你可以-但这是一个非常非常糟糕的主意,所以不要这样做。 更详细的解释: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
也是一个非常糟糕的主意。@Vashjava.lang
是一个受限的包。您将不被允许编译这样一个.java
文件,afaik.@SotiriosDelimanolis,谢谢您的提示。在我的书中,即使创建org.stackoverflow.Object
也是一个非常糟糕的主意。@Vashjava.lang
是一个受限制的包。游沃