Java中的可见性关键字实际上是方法,比如Ruby吗?

时间:2012-03-29 08:29:00

标签: java methods keyword

正如标题所说,在Ruby中,'关键字',例如私有,公共等,实际上是“在类上运行的方法,动态地改变方法的可见性”(http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes) - 这是相同的在Java?

谢谢!

3 个答案:

答案 0 :(得分:3)

没有。在Java中,这映射到JVM理解(并强制执行)的字节码中的某些内容。编译器也会自己使用它。

加载类时不会发生“动态编译/类操作”,就像在Ruby或Perl中一样。

答案 1 :(得分:1)

不,在Java中,它们是“真正的”关键字:修饰符最终生成在生成的字节码中。他们不是方法。

答案 2 :(得分:1)

不,他们不是。 Java是一种编译语言,编译器在解析代码时会理解这些关键字具有特定含义。

Ruby不是预先编译的,因此Ruby中的类定义实际上是一个在运行时定义类的可执行语句。这就是访问修饰符实际上是Ruby中的运行时方法的原因。 Java中的类加载完全不同。