每日10道JAVA题答案(20180627)

1.C
相当于D d=new D();
2.B
jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。
常量池属于 PermGen(方法区)

3.D
局部变量不能用static修饰

4.C
数组是一种对象,所有的对象类都是在堆内存中,基本数据类型在栈内存中

5.A
InputStreamReader(InputStream in, Charset cs)
创建使用给定字符集的 InputStreamReader。

6.C
C 选项 重载了父类集成的foo方法。C 正确
A 选项 若是重写,返回值类型不可小于父类返回值类型;若是重载需参数列表不同。A 错误。
B 选项 同上。
D 选项 返回值中A未定义,编译错误。D错误。

7.B
初始化过程是这样的: 
1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 
2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化; 
3.其次,初始化父类的普通成员变量和代码块,在执行父类的构造方法;
4.最后,初始化子类的普通成员变量和代码块,在执行子类的构造方法; 
 
(1)初始化父类的普通成员变量和代码块,执行 C c = new C(); 输出C 
(2)super("B"); 表示调用父类的构造方法,不调用父类的无参构造函数,输出B 
(3) System.out.print("B"); 
 所以输出CBB
8.A
第一,记住wait必须要进行异常捕获
第二,记住调用wait或者notify方法必须采用当前锁调用,即必须采用synchronized中的对象
9.C
静态块:用static申明,JVM加载类时执行,仅执行一次
构造块:类中直接用{}定义,每一次创建对象时执行
执行顺序优先级:静态块>main()>构造块>构造方法
静态块按照申明顺序执行,所以先执行publicstaticB t1 = newB();该语句创建对象,则又会调用构造块,输出构造块
接着执行public static B t1 = new B();输出构造块
再执行
static
{
System.out.println("静态块");
}输出静态块
最后main方法执行,创建对象,输出构造块。

10.B
getParameter()是获取POST/GET传递的参数值;
getInitParameter获取Tomcat的server.xml中设置Context的初始化参数
getAttribute()是获取对象容器中的数据值;
getRequestDispatcher是请求转发。 

猜你喜欢

转载自blog.csdn.net/stridebin/article/details/80834144
今日推荐