1.A.java继承中对构造函数是不继承的,只是显式或者隐式调用,所以A选项不对


2.B


string和char数组都是引用类型,引用类型是传地址的,会影响原变量的值,但是string是特殊引用类型,为什么呢?


因为string类型的值是不可变的,为了考虑一些内存,安全等综合原因,把它设置成不可变的; 不可变是怎么实现的?Java在内存中专门为string开辟了一个字符串常量池,用来锁定数据不被篡改,


所以题目中函数中的str变量和原来的str已经不是一个东西了,它是一个局部引用,


指向一个testok的字符串,随着函数结束,它也就什么都没了,但是char数组是会改变原值的



3.B


c是面向过程,java和c++都是面向对象,面向对象的三大特征是:封装、继承、多态。



4.B


final变量,如果是基本数据类型,则其数值一旦初始化后就不能被改变。如果是引用类型的变量,则对其初始化后,


便不能再指向另一个对象,但是其里面的值是可以改变的。引用变量所指向的对象中的内容是可以改变的。



5.A


父类静态域——》子类静态域——》父类成员初始化——》父类构造块——》1父类构造方法——》2子类成员初始化——》子类构造块——》3子类构造方法;



6.C


Java中数组是对象,不是基本数据类型(原生类),大小不可变且连续存储,因为是对象所以存在堆中。



7.A


spring MVC与struts2的区别:1. 机制: spring   mvc的入口是 servlet,而struts2是filter,这样就导致了二者的机制不同。



8.B.


HttpServletResponse 接口提供了重写 URL 的方法:public java.lang.String encodeURL(java.lang.String url) 


该方法的实现机制为: 


先判断当前的 Web 组件是否启用 Session,如果没有启用 Session,直接返回参数 url。 


再判断客户端浏览器是否支持 Cookie,如果支持 Cookie,直接返回参数 url;如果不支持 Cookie,就在参数 url 中加入 Session ID 信息,然后返回修改后的 url。




9.BD


synchronized很强大,既可以保证可见性,又可以保证原子性,而volatile不能保证原子性!



10.AC 


final修饰类、方法、属性!不能修饰抽象类,因为抽象类一般都是需要被继承的,final修饰后就不能继承了。


final修饰的方法不能被重写而不是重载! 


final修饰属性,此属性就是一个常量,不能被再次赋值!