java面试测试题

1、简述你对面向对象的理解

什么是类 什么是对象  类是模子 对象是模子产生的实例

万物皆对象  类是一组具有相同特征和相似行为的对象的集合

类和对象的关系

现实中 先有对象 后抽离产生类

程序中 先设计类 后实例化对象

封装

隐藏具体的实现 提供一个对外的用户接口给用户调用

安全 复用

继承

一个类继承自另一个类 从而获取被继承类所有属性 除构造方法外所有方法的过程 称为继承

多态

多个子类继承自同一个父类 对于父类声明的同名方法采用不同的实现手段 称为多态

2、一个类被final修饰 ,代表这个类怎么样了

Final修饰的类 被成为终态类 该类无法被其他类继承 类中不能包含抽象方法

3String s="hello"String  b=new String("hello")的区别?
使用new关键字代表在内存中强制开辟内存空间用于存储数据

4接口与抽象类的区别

接口是一个特殊的类

接口中 只有未实现的方法 没有属性 方法也不需要abstract修饰  抽象类中 可以包含属性 实现的方法  和抽象方法

一个类 只能继承一个抽象类 可以实现多个接口

5、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

12       -11

6java中迭代器的作用方式?

遍历集合元素

7、作用域public,private,protected,以及不写时的区别

Public   公共的  代表 所有其他类均可访问

Private  私有的  代表只能在本类中访问

Protected   受保护的  代表只能在本类 和本类的子类中访问

默认 在同一包中可以访问  default

8方法重载和重写的区别?

Overload  

针对一个类    方法名称相同 参数不同   多个重载方法可以共存


Override

针对形成继承的父子类  方法名和参数都相同  父子类重写的方法 子类覆盖父类

9、String StringBufferStringBuilder的区别?

String  是系统提供的一个基础数据类型

StringBufferStringBuilder都是字符串的操作类

StringBuffer线程安全 但存取效率较低

StringBuilder线程不安全 但存取效率高

10、说出ArrayList,Vector, LinkedList的存储性能和特性?

存储机制来看:

ArrayListVector是相同 LinkedList 是链表结构

特点来看

ArrayList适合做全查询 扩容50%

Vector相较于ArrayList 线程安全 效率较低  扩容率 成倍扩容

LinkedList 适合频繁插入和删除的操作

11、HashMapHashtable的区别?

a) HashMap实现Map接口   HashTable继承自Dictionary

b) 线程不安全 但效率高       线程安全 效率低

c) 键和值 可以为NULL       键值都不能为Null

12、你什么时候使用抽象类,什么时候使用接口?

13superthis的区别?

Super访问该类的父类成员 super()访问父类构造

This访问本类成员

原文地址:https://www.cnblogs.com/dopaer/p/6605470.html