java语言 百分网手机站

java软件工程师面试题有哪些

时间:2020-10-05 20:29:12 java语言 我要投稿

java软件工程师面试题有哪些

  java软件工程师面试题有哪些呢?今天小编为大家收集整理了以下的面试题,欢迎学习!

java软件工程师面试题有哪些

  Java基础方面:

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

  答:区别如下:

  作用域 当前类 同一package 子孙类 其他package

  public √ √ √ √

  protected √ √ √ ×

  friendly √ √ × ×

  private √ × × ×

  不写时默认为friendly

  2,ArrayList和Vector的区别,HashMap和Hashtable的区别

  答:就ArrayList与Vector主要从二方面来说.

  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的

  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半

  就HashMap与HashTable主要从三方面来说。

  一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现

  二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的

  三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

  3,char型变量能不能定义为一个中文?为什么?

  答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

  4,多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?

  答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口

  同步的实现方面有两种,分别是synchronized,wait与notify

  5,继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?

  答:父类:

  package test;

  public class FatherClass

  {

  public FatherClass()

  {

  System.out.println("FatherClass Create");

  }

  }

  子类:

  package test;

  import test.FatherClass;

  public class ChildClass extends FatherClass

  {

  public ChildClass()

  {

  System.out.println("ChildClass Create");

  }

  public static void main(String[] args)

  {

  FatherClass fc = new FatherClass();

  ChildClass cc = new ChildClass();

  }

  }

  输出结果:

  C:\>java test.ChildClass

  FatherClass Create

  FatherClass Create

  ChildClass Create

  6,内部类的实现方式?

  答:示例代码如下:

  package test;

  public class OuterClass

  {

  private class InterClass

  {

  public InterClass()