身后的脚印

身后的脚印

问题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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • elementui树形控件的样式_elementui树形控件筛选

    elementui树形控件的样式_elementui树形控件筛选实现效果与原理我们希望实现鼠标移动至树型结构的结点上就显示按钮,移出就隐藏按钮实现原理:是通过@mouseenter和@mouseleave两个属性来控制鼠标hover的效果,再配合v-sho

    2022年7月30日
    7
  • Navicat Premium 15激活码【2021.10最新】

    (Navicat Premium 15激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~09LV…

    2022年3月28日
    59
  • 鼠标双击响应的实现「建议收藏」

    鼠标双击响应的实现「建议收藏」今天在实现鼠标双击响应的时候,遇到了一些问题,下面是对我很有帮助的解释:首先对鼠标双击事件原理做一个简单的了解:在Windows平台上,鼠标左键的按下、松开、快速的两次点击会产生WM_LBUTTONDOWN、WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作,是两次独立的单击,还是一次双击呢?最近在解决一个问题时,通过使用…

    2022年9月25日
    0
  • JMeter参数化4种实现方式「建议收藏」

    JMeter参数化4种实现方式「建议收藏」前言下面是目前JMeter系列已有博文列表,持续更新中:JMeter安装与接口测试入门JMeter接口测试之断言实现JMeter逻辑控制器JMeter配置元件JMeter操作Mysql数据库BeanShellSampler与BeanShell断言JMeterLinux下执行测试JMeter自定义日志与日志分析1参数化释义什么是参数化?从字面上去理解的话,就是事先准备好数据(广义上来说,可以是具体的数据值,也可以是数据生成规则),而非在脚本中写死,脚本执行时从准备好的数据中

    2022年6月24日
    23
  • Lamp架构_公司网络架构与配置

    Lamp架构_公司网络架构与配置1.LAMP简介与概述1.1LAMP平台概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言1.2LAMP各组件作用(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Wind..

    2022年10月17日
    0
  • 常用的网站后台编辑器

    常用的网站后台编辑器

    2021年11月5日
    48

发表回复

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

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