java继承机制描述错误的是_java题库错题总结(1)

1.Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:(  ADF        )

AJava反射主要涉及的类如Class, Method, Filed,等,他们都在java.lang.reflet包下

B通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法

C通过反射,可以突破Java语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员

DJava反射机制提供了字节码修改的技术,可以动态的修剪一个类

EJava的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多

FJava反射机制一般会带来效率问题,效率问题主要发生在查找类的方法和字段对象,因此通过缓存需要反射类的字段和方法就能达到与之间调用类的方法和访问类的字段一样的效率

解析:

反射指的是在运行时能够分析类的能力的程序。

反射机制可以用来:

1.在运行时分析类的能力--检查类的结构--所用到的就是java.lang.reflect包中的Field、Method、Constructor,分别用于描述类的与、方法和构造器。A中的Class类在java.lang中。

2.在运行时查看对象。

3.实现通用的数组操作代码。

反射机制的功能:

在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态***。

反射机制常见作用:

动态加载类、动态获取类的信息(属性、方法、构造器);动态构造对象;动态调用类和对象的任意方法、构造器;动态调用和处理属性;获取泛型信息(新增类型:ParameterizedType,GenericArrayType等);处理注解(反射API:getAnnotationsdeng等)。

反射机制性能问题:

反射会降低效率。

void setAccessible(boolean flag):是否启用访问安全检查的开关,true屏蔽Java语言的访问检查,使得对象的私有属性也可以被查询和设置。禁止安全检查,可以提高反射的运行速度。

可以考虑使用:cglib/javaassist操作。

上述资料来源:《Java核心技术 卷I》

2.list是一个ArrayList的对象,哪个选项的代码填到//todo

delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?(A)

A.it.remove();

B.list.remove(obj);C.list.remove(index);

D.list.remove(obj,index);

解析:如果在循环的过程中调用集合的remove()方法,就会导致循环出错,例如:

for(int i=0;i

list.remove(...);

}

循环过程中list.size()的大小变化了,就导致了错误。

所以,如果你想在循环语句中删除集合中的某个元素,就要用迭代器iterator的remove()方法,因为它的remove()方法不仅会删除元素,还会维护一个标志,用来记录目前是不是可删除状态,例如,你不能连续两次调用它的remove()方法,调用之前至少有一次next()方法的调用。

3.子类不能继承父类的无参构造器(true)

构造器只能被调用,不能被继承

原文:https://www.cnblogs.com/yxj808/p/12737046.html

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

Aconitine

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值