Java类关键字的用途不同?

时间:2017-06-09 13:16:32

标签: java eclipse

ClassName class 会返回该特定类的 Class 对象。这说明并理解,我无法真正掌握关键字在方法中直接使用时的作用..然后,如果我们写 class 并立即使用dot,出现的列表似乎包括那里的所有内容,即方法的局部变量,其他方法和变量(取决于方法是否是静态的),方法本身和类本身。

从上面提到的第一个陈述的函数来看,我发现自己与这个函数不一致:我无法分辨它究竟在做什么......我看到它的方式,它是同一个词,期望同样的功能,但不是这似乎就是这种情况

模糊......我知道,但对此有任何见解表示赞赏。 THX。

1 个答案:

答案 0 :(得分:2)

我从Netbeans那里得到了类似的行为:

Screenshot from Netbeans

然而,这些都是一些虚假的建议。

public interface MyInterface<T extends MyGenericObject> { void read(long id, Callback<T> callback); void readAll(Callback<Collection<T>> callback); } public interface Callback<T> {} public class MyGenericObject {} public class SomeObject extends MyGenericObject {} public class MyClass implements MyInterface<SomeObject> { @Override public void read(long id, Callback<SomeObject> callback) {} @Override public void readAll(Callback<Collection<SomeObject>> callback) {} } ,尽管是一个建议,但不会编译。这可能是计算建议方式的一个特点。如果有办法从这些建议中获取法律代码,我就无法想到它。

请注意,如果您只是在空语句中点击class.emptyList()(或您绑定建议的任何键),则会得到相同的建议。

通常只有两种情况可以使用CTRL+enter这个词:

  1. 定义课程时,例如class
  2. 使用点,在类名后面,获取类型的Class对象 - public class MyClass { ... }
  3. 有时你觉得你想要一个名为Class<Person> clazz = Nurse.class的变量,但这是一个保留字,所以你不能。由于这个原因,看到名为class的变量很常见。