身后的脚印

身后的脚印

问题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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110186.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号