正如标题所说,在Ruby中,'关键字',例如私有,公共等,实际上是“在类上运行的方法,动态地改变方法的可见性”(http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes) - 这是相同的在Java?
谢谢!
答案 0 :(得分:3)
没有。在Java中,这映射到JVM理解(并强制执行)的字节码中的某些内容。编译器也会自己使用它。
加载类时不会发生“动态编译/类操作”,就像在Ruby或Perl中一样。
答案 1 :(得分:1)
不,在Java中,它们是“真正的”关键字:修饰符最终生成在生成的字节码中。他们不是方法。
答案 2 :(得分:1)
不,他们不是。 Java是一种编译语言,编译器在解析代码时会理解这些关键字具有特定含义。
Ruby不是预先编译的,因此Ruby中的类定义实际上是一个在运行时定义类的可执行语句。这就是访问修饰符实际上是Ruby中的运行时方法的原因。 Java中的类加载完全不同。