java复习

更新时间:2023-11-13 01:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.在Java中,负责对字节代码解释执行的是 A. 应用服务器 B. 虚拟机 C. 垃圾回收器 D. 编译器

2.定义字符串:String s1=\;对下面程序描述正确的是: if(s1==\

System.out.println(\}else{

System.out.println(\}

A. 输出 s1 !=hello B. 编译正确,运行错误 C. 产生编译错误 D. 输出 s1=hello

3. 你怎样强制对一个对象立即进行垃圾收集? A. 调用 System.gc()

B. 调用System.gc(), 同时传递要进行垃圾收集对象的引用 C. 给这个对象的所有引用设置一个新的值(例如null) D. 垃圾收集是不能被强迫立即执行

4. 已知如下代码 public class staTest1 { static int a=10; static{a=a+5;} public static void main(String[] args) { System.out.println(\ } static {a=a/3;} }

请问哪个情况是正确的?

A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=15

5.已知如下代码: public class Test { long a[] = new long[10]; public static void main ( String arg[] ) { System.out.println ( a[6] ); }

}

请问哪个情况是正确的? A 、 输出为 null. B 、 输出为 0. C 、 编译时出错 D 、 运行时出错

6 .已知如下代码: 1: class Example{ 2: String str;

3: public Example(){ 4: str= \ 5: }

6: public Example(String s){ 7: str=s; 8: } 9:}

10: class Demo extends Example{ 11: }

12: public class Test{ 13:public void f () {

14:Example ex = new Example(\ 15:Demo d = new Demo(\ 16:} }

哪句语句会导致错误? A 、 line 3 B 、 line 6 C 、 line 10 D 、 line 14 E 、 line 15 7.

import java.io.*; import java.util.*; public class foo{ public static void main (String[] args){ String s; System.out.println(\ } }

输出结果应该是:( )

A.代码得到编译,并输出“s=”

B.代码得到编译,并输出“s=null”

C.由于String s没有初始化,代码不能编译通过 D.代码得到编译,但捕获到 NullPointException异常

1B java程序运行在java虚拟机上,jvm 可移植性强 2D

==比较的是地址,“hello”是字符串常量,java中保存在专门的内存中,

String s1=\赋值时就是把字符常量区中的“hello”给了s1指着,所以s1==\比较的在同一内存中的东西,如还有String s2=\” java发现\”在字符常量区中已经有,也会再次给S2。

3D java中回收还是系统做,即便调用gc也是肯定立马回收 4C

Static{}静态代码块先于main函数执行 5C

Main方法是static的,所以他中的变量要不是就是方法自己的局部变量,要不就是static的类变量。题目中long a[] = new long[10]; 是类Test的实例变量。不能在main中直接用。要用则要改为static的。 6E

子类无法继承父类的构造函数。子类Demo继承了Example但是什么都没写所以就是有一个默认的无参构造函数。15行Demo d = new Demo(\是要用子类有一个字符串参数的构造函数,子类没有。(PS:子类的构造函数要用父类构造函数时是要用super(参数)的形式)

7C java String也是个对象 String s只是个声明,相当于在内存中的栈空间中有个s的引用(z指针),但是 需要如下方法 s = new String(“aaa”);才能再堆空间真的有string对象存在并用s指着。

写出下列代码输出结果: class Demo5{ {

System.out.println(\构造块\ }

public Demo5(){

System.out.println(\构造方法\ } {

System.out.println(\构造方法后的构造块\ }

static {

System.out.println(\静态代码块\ } }

public class Ex22 {

static {

System.out.println(\在主方法类中定义的代码块\ }

public static void main(String[] args){ new Demo5();

new Demo5(); } }

在主方法类中定义的代码块 4静态代码块 1构造块

3构造方法后的构造块 2构造方法 1构造块

3构造方法后的构造块 2构造方法

写出下列代码输出结果: public class ClassA {

int a ;

void callfun(){

System.out.println(\ }

void Test(){ a=100;

System.out.println(\ } }

public class ClassB extends ClassA{ void callfun(){

System.out.println(\ }

void Test(){ a=150;

System.out.println(\

}

void TestSup() {

this.Test(); super.Test(); } }

public class ClassC extends ClassA { void callfun(){

System.out.println(\ } }

public class Mytest {

public static void main(String[] args) { ClassA a;

ClassB b =new ClassB(); b.TestSup(); a=b;

a.callfun(); a.Test();

ClassC c =new ClassC(); a=c;

a.callfun(); } }

B a=150 A a=100 BBBB B a=150 CCCC

一、请分别描述下面向对象中 抽象、封装、继承、多态性 四个特征的概念。

抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 封装:通常认为封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方

本文来源:https://www.bwwdw.com/article/31qv.html

Top