Tag:

没有方法的接口

为什么Java引入了一些没有定义方法的接口? 例如Cloneable , Serializable , Type等等。 第二件事:在Class.class包中有一个方法定义了registerNatives()而没有body,从静态块调用,但Class.class不是抽象的,而是final 。 为什么这样? 为什么Java需要一些没有body的方法来从静态块调用。

使用Java将内部类设置为静态有什么好处?

我的Java类中有一个内部类。 当我运行查找错误时 ,它建议(警告)使其成为静态。 这个警告有什么意义? 将内部类设为静态有什么好处?

java内部/外部类关于外部类私有变量访问的问题

我有以下java类: class Outer { private Integer a; private Long b; class Inner { public void foo() { System.out.println(“a and b are ” + a + ” ” + b); } } } 当我在Outer和Outer $ Inner上运行javap时,我得到以下内容: C:\test>javap Outer Compiled from “Outer.java” class Outer extends java.lang.Object{ Outer(); static java.lang.Integer access$000(Outer); static java.lang.Long access$100(Outer); } C:\test>javap Outer$Inner Compiled […]

为什么Java中的主程序被放入一个类?

为什么主要方法必须放入一个类? 我理解OOP的主要思想,但我不明白为什么主程序是在一个类中定义的。 这样的类会在某处实例化吗? 我的意思是课外没有代码。 定义类并且从不使用此类的对象的原因是什么?

Java抽象类和接口

在采访中我被问到以下问题。 我试着回答这个问题,但我想要问题的确切答案。 如果我可以将Abstract类模拟为Interface,为什么java提供了Interface? 这意味着如果在Abstract类中我可以将所有方法标记为抽象,然后抽象类将作为接口工作,那么为什么我需要接口。 任何人都可以简要解释一下。

Java动态加载和卸载.java文件,垃圾收集?

我正在创建一个将长时间运行的Java应用程序,这需要更新的function而不会关闭。 我决定通过以.java文件(从数据库中拉出一个字节数组)的forms加载它来提供这个更新的function,这些文件在内存中编译并实例化。 如果你有一个更好的方式我全都耳朵。 我遇到的问题是,当我在人工环境中进行一些测试时,每次加载这些“脚本”的周期内存占用量会略有增加。 注意:这实际上是我第一次使用java做这样或类似的事情。 我之前在C#中已经完成了这样的事情,加载和卸载.cs文件,并且还有内存占用问题…解决我将它们加载到一个单独的appdomain中,当我重新编译文件时,我只是卸载了那个appdomain并创建了一个新的一个。 入口点 这是我在长时间使用(许多重新编译循环)后用来模拟内存占用的入口方法。 我在短时间内运行它很快就会吃掉500MB +。 这只是临时目录中的两个虚拟脚本。 public static void main( String[ ] args ) throws Exception { for ( int i = 0; i < 1000; i++ ) { Container[ ] containers = getScriptContainers( ); Script[ ] scripts = compileScripts( containers ); for ( Script s : scripts ) s.Begin( […]

为什么实例变量在java中有默认值?

为什么在类中声明的变量具有默认值,但在方法中声明的变量(称为“局部变量”)在Java中没有默认值? 例如 class abc { int a; public static void main(String ss[]) { int b; abc aa=new abc(); System.out.println(aa.a); System.out.println(b); } } 在上面的示例中,变量a默认值为0,但变量b给出了可能尚未初始化的错误。

抽象类与具体类有何不同?

我理解为什么我们需要Java中的Abstract Class – 来创建子类。 但同样可以通过具体的课程来实现。 例如,Child Child扩展Parent。 在这里,父母可以很好地抽象和具体。 那么为什么我们有抽象?

`public class`和`class`之间有什么区别?

我注意到如果不在类之前写public ,它的工作方式与public class相同。 我不明白为什么会这样? 当我不将类声明为public , private或protected时,它应该显示错误。 但它运作正常。 是什么原因?

Java类可访问性

与我的另一个问题略有关联:以下内容有何不同: private class Joe protected class Joe public class Joe class Joe 再一次,最后两个之间的差异是我最感兴趣的。