关于Java面试,一般应该会问到下面这些问题。
[编程工具]
你常用的编程工具有哪些?这个问题主要是考察你工作的专业性,你是不是具有大型项目的工作经验.
一般好的,Java的编程工具,你比如说,Eclipse, netbeans, Intelli J 等等。
[局部变量和类变量的区别]
这个问题主要是考察选手对于scope的概念。回答这个问题,
就是局部变量是在方法里面定义的。这个变量只能在方法内部才可以被调用。
类变量呢,可以在类的内部,任何地方都可以被调用。类变量还可以添加一些修饰符,限制或者允许外部类调用。
[什么是继承? ]
继承就是说子类可以享有父类的一些定义。
[什么是封装?]
封装是通过类定义的方式,把一些方法和数据包裹起来。
[什么是多态?]
多态是指一个对象可以通过具体的引用类型来调用父类和子类的一些方法。
这三个问题主要是考察选手对于面向对象编程的概念。
[ Overriding 和 overloading的区别]
这两种方法在编程中会经常用到。被问的可能性非常大。
Overriding主要用在子类要使用父类的一些方法定义。方法名必须相同,方法参数必须相同, 返回值类型必须相同。使用这种方法, 子类既可以调用父类的方法也可以添加自己个性化的实现。
Overloading主要用在方法这一层次上。具有同样的方法名,不同的参数类型, 可能会返回不同的数据类型。
[接口和抽象的区别?]
这个问题在面向对象编程里面也是经常被问到的一个问题。
在Java中,无法实现多类继承,所以就引入了接口的概念。接口中,主要是类的声明,没有实现内容。
抽象类中至少要含有一个抽象方法。这个抽象方法只有声明没有实现。抽象类的非抽象方法,需要有实现内容。
[说一下访问修饰符]
这也是面向对象编程里面非常重要的一个概念。
private, protected, public。没有修饰符,就是default。
private只能在本类内部访问。
protected在本类和子类中访问。
public在其他类中都可访问。
default在包内可访问。
[数组和数组列表的区别?]
[String, StringBuilder, StringBuffer的区别? ]
string不可修改。
string builder可修改,线程不安全的。
string buffer可修改,线程安全的。
[HashMap, HashTable 的区别? ]
都是字典类型。
hash map 是线程不安全的。
hash table 是线程安全的。
[Set 相关的问题]
Set里面的数据是唯一的。
sorted set是可排序的。
[Queue 相关的问题]
priority queue先进先出。
[Map相关的问题]
有hash map, linked hash map, tree map.
温馨提示:答案为网友推荐,仅供参考