相关疑难解决方法(0)

从实例引用Java中的静态方法/变量

任何人都可以向我解释为什么java允许您从实例访问静态方法和成员?一个不好的例子,如果我有一个名为RedShape的对象并且它有一个名为getColor()的静态方法返回"red",为什么java允许你从RedShape实例调用静态方法?对我而言,这似乎违反了OO语言设计的一些核心概念.至少,它应该带有编译器警告.

提前致谢.

编辑:

特别是,我问你什么时候有类似的东西

RedShape test = new RedShape();
test.getColor();
Run Code Online (Sandbox Code Playgroud)

其中getColor是RedShape类的静态方法.这没有任何意义,它是允许的,并没有通过javac在命令行上给出编译器警告.我看到它"强烈气馁",但很奇怪是否有一个技术或合理的理由背后为什么它被允许在"因为C++允许它"之外.

java static instance

4
推荐指数
2
解决办法
5426
查看次数

标签 统计

instance ×1

java ×1

static ×1