身后的脚印

身后的脚印

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stm32的语音识别_基于STM32的嵌入式语音识别模块设计

    stm32的语音识别_基于STM32的嵌入式语音识别模块设计引言服务机器人以服务为目的,因此人们需要一种更方便、更自然、更加人性化的方式与机器人交互,而不再满足于复杂的键盘和按钮操作。基于听觉的人机交互是该领域的一个重要发展方向。目前主流的语音识别技术是基于统计模式。然而,由于统计模型训练算法复杂,运算量大,一般由工控机、PC机或笔记本来完成,这无疑限制了它的运用。嵌入式语音交互已成为目前研究的热门课题。嵌入式语音识别系统和PC机的语音识别系统相比,虽然其…

    2022年6月26日
    31
  • PyCharm实用插件

    PyCharm实用插件超级实用

    2022年6月24日
    77
  • Origin简单绘图

    Origin简单绘图一、从cadence导出数据仿真生成波形之之后,鼠标选中波形,右击—>SendTo—>Export,进行csv数据的保存。打开该csv文件,删掉第一行,第一行是是横纵坐标的标识,左侧第一列是横坐标值,右侧列是纵坐标值。二、origin简单绘图双击图标打开origin导入csv数据可选中多个csv文件导入为了让两个csv的数据同时显示,在弹出的对话框进行以下操作(默认第二个csv数据会覆盖第一个csv数据)。设置好之后点击“确定”,两个csv数据均被导入到了o

    2022年6月1日
    54
  • linux安装nodejs环境_ubuntu安装nodejs

    linux安装nodejs环境_ubuntu安装nodejs之前在安装nodejs踩了不少的坑,我结合了之前在网上其他人发的教程,做了补充优化。1.到官网下载与自己系统匹配的nodejs版本中文网站英文网站不知道系统版本号的可以通过uname-a查询系统位数此处下载最新的nodejs也可以下载历史版本,选择自己想要的创建node目录(可以不创建)mkdirnode进去nodejs目录cd…

    2022年9月13日
    5
  • Delphi 2010下载+完美激活成功教程「建议收藏」

    Delphi 2010下载+完美激活成功教程「建议收藏」点击链接进入http://altd.embarcadero.com/download/RADStudio2010/delphicbuilder_2010_3615_win.isoRADStudio/

    2022年7月4日
    24
  • 都能看懂的LIS(最长上升子序列)问题[通俗易懂]

    都能看懂的LIS(最长上升子序列)问题[通俗易懂]LIS问题介绍:首先来说一下什么是LIS问题:有一个长为n的数列a0,a1,……,a(n-1)。请求出这个序列中最长的上升子序列的长度。上升子序列指的是对于任意的i<j都满足ai<aj的子序列,该问题被称为最长上升子序列(LIS,LongestIncreasingSubsequence)的著名问题。举个栗子:给你一个序列为(1,5,2,6,9,1…

    2022年6月14日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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