【第一题】

java aop在方法之前执行 在java中,方法change()定义如下_java

 

java aop在方法之前执行 在java中,方法change()定义如下_子类_02

选择【B】,在Java中只有值传递,main-str和change-str指向的不是一个地址,change方法新建立了一个引用str

【第二题】

java aop在方法之前执行 在java中,方法change()定义如下_父类_03

选择【D】,

  • 重载用于同一个类中,方法名相同,参数列表里的参数类型、个数、顺序不同;并且与返回值无关,即返回值可以相同也可以不同
  • 覆盖(重写)用于继承当中,子类重写父类的方法,方法名相同,参数列表相同,连返回值类型都相同

【第三题】java aop在方法之前执行 在java中,方法change()定义如下_子类_04

java aop在方法之前执行 在java中,方法change()定义如下_刷题_05

选择【A】,数组是对象,所有的对象类都是在堆内存中,基本数据类型在栈内存中

【第四题】java aop在方法之前执行 在java中,方法change()定义如下_子类_04

java aop在方法之前执行 在java中,方法change()定义如下_刷题_07

 

java aop在方法之前执行 在java中,方法change()定义如下_java_08

选择【A】,Java会把通过对象调用静态方法转化成类名称调用静态方法,(TestClass)null等价于TestClass类的一个对象,反编译之后:

java aop在方法之前执行 在java中,方法change()定义如下_刷题_09

【第五题】

java aop在方法之前执行 在java中,方法change()定义如下_父类_10

选择【D】

【第六题】java aop在方法之前执行 在java中,方法change()定义如下_子类_04

java aop在方法之前执行 在java中,方法change()定义如下_子类_12

选择【C】,System.arraycopy > clone > Arrays.copyOf > for 

java aop在方法之前执行 在java中,方法change()定义如下_父类_13

Arrays.copyOf()方法本质是调用System.arraycopy()方法

【第七题】java aop在方法之前执行 在java中,方法change()定义如下_子类_04

java aop在方法之前执行 在java中,方法change()定义如下_刷题_15

 

java aop在方法之前执行 在java中,方法change()定义如下_刷题_16

选择【B】,

1、基本型封装型将会自动拆箱变为基本型后再进行比较,基本类型没有equals方法,一般使用“==”,比较的是值
2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行比较

java aop在方法之前执行 在java中,方法change()定义如下_java_17

【第八题】

java aop在方法之前执行 在java中,方法change()定义如下_java_18

java aop在方法之前执行 在java中,方法change()定义如下_子类_19

 

选择【D】,  子类的构造方法总是先调用父类的构造方法,如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类不带参数的构造方法,父类没有无参的构造函数,所以子类需要在自己的构造函数中显式调用父类的构造函数,使用super关键字

【第九题】

java aop在方法之前执行 在java中,方法change()定义如下_父类_20

选择【A】,x.toUpperCase();该方法是将小写字母转换为大写,但是并没有改变x,在堆中new一个"FMN"对象,但无任何引用指向它
String y=x.replace(‘f’,‘F’); 在堆中 new一个"Fmn"对象,y指向这个新对象
y=y+“wxy”; 在堆中重新new一个"Fmnwxy"对象, y指向这个新对象

【第十题】

java aop在方法之前执行 在java中,方法change()定义如下_父类_21

选择【B】,接口中所有的方法必须都是抽象的,接口中也可以定义数据成员,但必须是常量