java049纠错

答:编译报错

子类第一行如果没有调用父类的构造,系统就会默认使用父类的无参构造,而这道题里并没有写无参的构造方法所以编译报错,所以应该在父类里加上如下图所示的无参构造。通过这道题也知道了父类如果有有参构造,那么最好加上无参构造(我一定会加);如果父类没有有参构造,那子类在执行的时候就算不加父类调用,系统也会默认调用父类的无参构造。所以这道题会出现编译错误。

2.面向对象程序设计语言的三个基本特征是:封装,继承,多态。

3.java语言中,按照一定格式生成程序的文档的工具是?

答:是javadoc:他从程序源代码中抽取类,方法,成员等注释形成一个和源代码配套的API帮助文档。

顺带一提的是:

jar:将许多文件组合成jar文件。

javac:编译。

javah:把java代码声明的JNI方法转换成c/c++头文件。(JNI:java提供了一些本地接口,主要作用就是提供一个标准的方式让java程序通过java虚拟机与源生代码进行交互,这就是所说的java本地接口——JNI,java  native  interface它使得java虚拟机JVM内部运行的java代码能够与其他汇编语言如c/c++编写的应用程序和库进行互相操作)。

4.关于垃圾回收机制,下面那些结论是正确的(b)

A.程序可以任意指定释放内存的时间

(java提供了垃圾回收的机制来帮助我们不定时的回收那些已经不再使用的对象。当JVM启动时,除了启动我们的主线程外还会启动垃圾会回收线程,他会在JVM空闲时,自动回收我们不在使用的对象,释放内存空间,程序员不能强制执行垃圾回收,但是可以通过System.gc()来建议执行垃圾回收器,所以垃圾回收 的时间和顺序是无法预知的)

B.java程序不能依赖于垃圾回收的时间或顺序

(垃圾收集发生的不可预知性:由于实现了不同的垃圾回收算法和采用了不同的收集机制,所以他有可能定时发生,也有可能是当出现系统空闲cpu资源时发生,还有可能和原始的垃圾收集一样等到内存消耗出现极限时发生)

C.程序可明确的标识某个局部变量的引用不在被使用

(因为局部变量声明在栈中,当方法调用完毕后会自动清空栈,并不是又JVM来回收的,所以和垃圾回收机制无关,JVM只负责回收堆内内存)

D.程序可以显示的立即释放对象占有的内存

(?????????????)

你可能感兴趣的:(java049纠错)