java基础知识面试题

来源:互联网 发布:格式转换器 mac 编辑:程序博客网 时间:2024/06/05 04:52

avaOOP(面向对象编程)

JavaOOP即面向对象编程,面向对象设计的过程就是抽象的过程;面向对象就是采用“现实模拟”的方法设计和开发程序。面向对象的技术就是利用“面向对象的思想”去描述“面向对象的世界”,实现了虚拟世界和现实世界的一致性,符合人们的思维习惯,同时有代码重用性高、可靠性高、可扩展性高等优点,大大提高了软件尤其是大型软件的设计和开发效率。

面向对象编程的三大特征:

   1.封装就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。大大提高了代码的安全性。

   2.继承继承是java中实现代码重用的重要手段之一。Java中只支持单继承,即每个类只能有一个直接父类。继承表达的是 is a 的关系。而在java中所有的java类都直接或间接的继承了Object类。Object类是所有java类的祖先,所以如果定义一个类时,没有用extends关键字,那么这个类就直接继承Object类。

   3.多态多态是具有表现多种形态的能力特征。更专业的说法就是:同一个实现接口使用不同的实例而执行不同的操作。多态性是对象多种表现形式的体现。

 

Override与OverLoad区别

1. Override(重写)在父子类中

  Overload(重载)在同类中

2. Override(重写):方法名 参数列表 返回值类型相同,访问修饰符不能严与父类

  Overload(重载):方法名相同,其余的都可以变更

3. Override(重写):父类无法满足子类的需求,子类重写父类。

  Overload(重载):为了方便方法的调用。

abstract类与interface区别?

1.(关键字)abstract类需要继承要有extends,interface需要实现要有implements

2.(数量)一个类可以有多个interface,但一个类只能继承一个abstract类

3.(关系)interface强调特定功能的实现,二abstract类强调所属关系

4.(内部)interface中的每个方法都是抽象方法只是声明没有实体,abstract类不都是抽象方法

runtimeException有哪些?什么情况会出现?

1.NullPointerException(空指针)

2.ArrayIndexOutOfBoundsException(数组下标越界)

3.ClassCastException(对象强制类型转换出错)

4.ArithmeticException(算术错误情形)

5.IllegaArgumentException(非法参数)

6.NumberFormatException(数字格式转换异常)

集合框架的接口和实现类有哪些?区别?

接口:

   Collection(存储一组不唯一,无序的对象)

   List(存储一组不唯一,有序的对象)

      Set(存储一组唯一,无序的对象)

   Map

类:

ArrayList  LinkedList  HashMap TreeMap  HashSet  TreeSet  HashTable等

ArrayList与LinkedList区别:

   ArrayList:实现了长度可变的数组,在内存中分配连续的空间遍历元素和随机访问元素效率比较高

   LinkedList:采用双向链表结构,插入删除元素效率比较高。

HashMap与TreeMap的区别?(HaspTable)

    1.HashMap结果是没有排序的,而TreeMap输出的结果是排好序的。

   2.HashMap:哈希表数据结构。

     TreeMap:底层是二叉树数据结构。

   3.HashMap的键和值都可以为空     

TreeMap的键和值都不能为空。

HashMap与HashTable的区别?

   1.HashMap的键和值都可以为空;HashTable的键和值都不能为空

   2.HashMap继承自AbstractMap;Hashtable继承自 Dictionary

   3.HashMap方法是未同步的;HashTable方法是同步的

   4.HashMap非线程安全,效率相对高些;HashTable线程安全,效率相对低些

JSP的九大内置对象

   1.page指令

   2.out:输出信息

   3.request:处理客户端请求

   4.response:应客户端请求

   5.session:作用域:一次会话

   6.application:作用域:项目

   7.pagecontext:取得任何范围的参数,通话它获取jsp页面的out,request,response,session,application等对象。

   8.config:取得服务器的配置信息

   9.exception:异常。

转发与重定向的区别

   1.转发:地址栏不改变,转发请求一次,转发可以将request传递到下一份页面

   2.重定向:地址栏改变,重定向请求两次,重定向不能将request带到下一个页面

实现分页的5个对象(Page工具类中的属性)

   1.currPageNo当前页码

   2.totalPageCount  总页码

   3.pageSize页面大小

   4.tatalInfoCount总信息数

   5.List<> new List当前页的数据集合

String是最基本的数据类型吗?

基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

String 和StringBuffer的区别

JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

Collection 和 Collections的区别。

  Collection是集合类的上级接口,继承与他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

&和&&的区别。

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有有length()这个方法。

是否可以继承String类?

String类是final类故不可以继承。

构造器能被重写吗?

答:构造器不能被继承,因此不能被重写,但可以被重载。

十九.JSP组成部分

答:1.指令(page:导包,指定编码)

2.小脚本(Java代码)

3.静态页面

4.声明

5.注释

6.表达式



原创粉丝点击