如果在其他内部类中进行了更改,是否有必要编译内部类?

时间:2011-09-09 07:53:13

标签: java inner-classes

我有一个Class Aouter,这个Aouter类有两个内部类,即Binner,Cinner。我的疑问是,如果Binner类已被更改,那么Cinner类也应该编译并移动到服务器?

请问我是否对我的问题有任何疑问。

提前感谢。

3 个答案:

答案 0 :(得分:1)

如果Cinner不以任何方式依赖Binner,则无需重新编译。否则我认为重新编译会更好(虽然可能并不总是必要,但为了安全起见仍然更好)。但是,由于通常内部类与它们的包含类一起编译,所以在实践中重新编译它们全部或不重新编译。

答案 1 :(得分:1)

我怀疑你可以单独编译它们,但是一个内部类不应该受到另一个内部类的更改的影响。由于它们生成不同的.class文件,为什么不使用像rsync这样的工具来部署二进制文件(即移动到服务器)。这样只需要转移更改..

答案 2 :(得分:0)

如果内部类使用外部类,则可以有所作为。这是因为当内部类访问外部类的私有成员时,编译器需要生成访问方法。这也意味着,如果将字段/方法/构造函数从非私有更改为私有,则内部类将从字段代码中的字段访问更改为方法调用。