java试题复盘——9月26日

5、在 JAVA 编程中, Java 编译器会将 Java 程序转换为(A)

A.  字节码
B.  可执行代码
C.  机器代码
D.  以上都不对

 

解析:

编译器将Java源代码编译成字节码class文件

类加载到JVM里面后,执行引擎把字节码转为可执行代码

执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。

 

15、

Integer a = 1;

Integer b = 1;

Integer c = 500;

Integer d = 500;

System.out.print(a == b);

System.out.print(c == d);

上述代码返回结果为:B

  1. true、true
  2. true、false
  3. false、true
  4. false、false

 

解析:

这是非常有趣的地方。如果你查看Integer.java类,你会找到IntegerCache.java这个内部私有类,它为-128到127之间的所有整数对象提供缓存。

 

 

25、类B从类A派生,则类B可以访问类A中的(AC )成员?(多选)

  1. public成员
  2. private成员
  3. protected成员
  4. 所有数据成员
  5. 所有函数成员

 

解析:

数据成员包括ABC

函数成员也包括ABC    

所以呢,只要判断ABC就好

private: 本类函数和友元函数可以访问。

protected: 本类函数、友元函数和子类函数可以访问。

public: 本类函数、友元函数、子类函数和本类的对象可以访问。

和公有继承、保护继承和私有继承没有关系,保护继承和私有继承影响的是子类的继承关系。

 

28、
下面哪个语句是创建数组的正确语句?( ABDE)

    1. float f[][] = new float[6][6];
    2. float []f[] = new float[6][6];
    3. float f[][] = new float[][6];
    4. float [][]f = new float[6][6];
    5. float [][]f = new float[6][];

 

 

32、下列修饰符中与访问控制权限无关的是?(D )

A.  private
B.  public
C.  protected
D.  final
解析:

private:修饰私有变量

public:修饰公有变量

protected:修饰受保护变量

final:保护私有变量不受改变

 

35、个抽象类并不需要其中所有的方法都是抽象的。( A  )

A.  正确
B.  错误

 

解析:

1)抽象类可以包括抽象方法和非抽象方法

2)如果类里面有抽象方法的话,那么类一定要声明为抽象的!

 

 

40、如果要建立一个java.com.computer的包放入当前java类,下列叙述正确的是?  (D )

A.  在代码中,不一定是第一句,只要是类定义前,加入package语句即可
B.  只需在代码中加入“package java.com;”一个语句
C.  必须在代码中加入“package java.com;”和“package java.com.computer;”两个语句
D.  只需在代码中第一条非注释性语句加入“package java.com.computer;”
 
解析:
package 必须是第一条非注释性的语句,在import 之前,不仅仅是类定义前


49、下列在Java语言中关于数据类型和包装类的说法,正确的是(B)

A.  基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
B.  long和double都占了64位(64bit)的存储空间。
C.  默认的整数数据类型是int,默认的浮点数据类型是float。
D.  和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。

 

解析:

A基本类型和包装类是两回事,不是同一个概念。包装类像普通的类一样,封装了一系列的方法

C默认的浮点数据类型是float

D基本数据类型没有静态方法的,包装类却可以,因为包装类像普通的类一样,封装了一系列的方法

 

14关于继承和实现说法正确的 是  (  B  )

A.类可以实现多个接口,接口可以继承(或扩展)多个接口

B.类可以实现多个接口,接口不能继承(或扩展)多个接口

C.类和接口都可以实现多个接口

D.类和接口都不可以实现多个接口

 

解析:

1.类与类之间的关系为继承,只能单继承,但可以多层继承。

2.类与接口之间的关系为实现,既可以单实现,也可以多实现。

3.接口与接口之间的关系为继承,既可以单继承,也可以多继承。

 

16

1

Web程序中,当前用户上下文信息应该保存在下面哪个对象中(C)

 

A.page

B.request

C.session

D.Application

 

解析:

session:当前用户上下文信息

appication:当前应用

pageContext:当前页面

request:当前请求

 

 

 

22

1

2

3

4

5

6

static String str0="0123456789";

static String str1="0123456789";

String str2=str1.substring(5);

String str3=new String(str2);

String str4=new String(str3.toCharArray());

str0=null;

假定str0,...,str4后序代码都是只读引用。
Java 7中,以上述代码为基础,在发生过一次FullGC后,上述代码在Heap空间(不包括PermGen)保留的字符数为(C)

A.5

B.10

C.15

D.20

 

解析:

Str1在常量池里,不属于Heap空间

substring实际是new,5字符

str3和4也都是new,每个5字符

分别都会创建新的对象

常量池是PermGen的

因此应该是一共15字符

 

24. Test.main()函数执行后的输出是(B )

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

class Test {

    public static void main(String[] args) {

        System.out.println(new B().getValue());

    }

    static class A {

        protected int value;

        public A (int v) {

            setValue(v);

        }

        public void setValue(int value) {

            this.value= value;

        }

        public int getValue() {

            try {

                value ++;

                return value;

            } finally {

                this.setValue(value);

                System.out.println(value);

            }

        }

    }

    static class B extends A {

        public B () {

            super(5);

            setValue(getValue()- 3);

        }

        public void setValue(int value) {

            super.setValue(2 * value);

        }

    }

}

 

A.6 7 7

B.22 34 17

C.22 74 74

D.11 17 34

 

        

 

posted @ 2019-09-26 19:08  不会fly的pig  阅读(353)  评论(0编辑  收藏  举报