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修饰属性,此属性就是一个常量,不能被再次赋值!