身后的脚印

问题1:重写与重载的区别?

重写(overRiding)(将父类中的某些方法重新写):实现父类与子类之间的多态。适用于子类继承父类中的方法,但子类中想对这些方法进行修改,这就需要使用类的重写技术。重写又称为覆盖。若父类和子类中存在方法名、参数列表(参数类型、参数个数)、返回值类型相同,则称为方法的重写。

重载(overLoading):实现方法之间的多态、类中多态。是类中存在多个方法名相同,参数类表不同的方法。返回值类型可以不同,也可以相同。

问题2:arrayList与linkedList

1、arrayList实现动态数组的数据结构,linkedList实现了双向循环链表的数据结构。

2、对于set()和get()访问。arrayList要优于linkedList。因为arryList可以随机定位,而linkedList要移动指针才能访问。

3、对于add()和remove()。linkedList要优于arrayList。因为linkedList只需修改指针即可,而arrayList需要移动数据来被删除和添加的数据对象。

4、时间复杂度。二分查找时,arrayList的时间复杂度要小于linkedList。对arrayList进行查找的时间复杂度是固定的。进行插入删除数据时,linkedList比arrayList要小,而linkedList的时间复杂度是固定的。

5、空间复杂度。arrayList主要是体现在在list的最后要预留一些空间,而linkedList则体现在每个元素都要相当的空间。

问题3:反射机制

是在运行状态时,能够动态的获得类的所有属性和方法。对于对象,能任意地调用任一方法。这种动态获取信息及调用对象的方法的机制就是java的反射机制。具有以下功能:

1、在运行时,能动态的调用对象的方法

2、动态地构造任一对象。方法newInstance()只能创建只包含只有无参数的构造方法的类。

3、能获取类的属性和方法。有两种方法可以获取属性、方法、构造函数。get***()和getDeclared***()。这两种方法的区别在于:前者是只能获取类或超类的public的属性、方法、构造函数,而后者可以访问全部的属性、方法、构造函数(constructor),但是不能访问父类的。

4、能判断任意对象的所属类

使用java反射首先需要取得你想操作的类的Class对象,然后再根据Class对象来取得操作类中的属性或方法,再根据操作前一步取得的属性或方法名。

取得Class对象有一下三种方法:

1、调用static方法forName()

2、使用类的.Class语法

3、调用对象的.getClass()方法

java运行时,某个类无论生成多少个对象,这些对象都对应同一个Class对象。这个对象Class表示程序运行中的类或接口。

 问题4:SSH框架与MVC设计模式的对应关系

总的来说,struts是用来做控制用的,hibernate是用来持久化数据的,spring是用来解耦的。

转载于:https://www.cnblogs.com/frankHlc/archive/2013/03/20/2970463.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值