Java经典考试简答题

1.运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

2.String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
https://www.360docs.net/doc/0d15693792.html,ng.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

3.说出一些常用的类,包,接口,请各举5个
常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer
常用的包:https://www.360docs.net/doc/0d15693792.html,ng java.awt java.io java.util java.sql
常用的接口:Remote List Map Document NodeList

4.作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly

5.抽象类与接口?
答:抽象类与接口都用于抽象,但是抽象类(JAVA中)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能). 一个类只能继承继承一个抽象类,而一个类却可以实现多个接口。接口中不能有非抽象方法,但抽象类中可以有。一个类能实现多个接口,但只能有一个父类。接口并不属于继承结构,它实际与继承无关,因此无关的类也可以实现同一个接口。

6.按值传递(by value)
适用范围:8种基本数据类型、String对象
特点:在内存中复制一份数据,把复制后的数据传递到方法内部
作用:在方法内部改变参数的值,外部数据不会跟着发生改变
按址传递(by address)
适用范围:数组、除String以外的其他所有类型的对象
特点:将对象的地址传递到方法内部
作用:在方法内部修改对象的内容,外部数据也会跟着发生改变.

7在类中有两个特殊的变量:this和super;
在以下两种情况中需要使用this变量:
在类中有两个变量同名,其中一个属于当前类而另一个属于某个特定的方法。
当某个类需要将类作为参数传递给某个方法。
以下情况需要使用super变量:
当覆盖方法时,有时候希望使用老方法中的代码,这是可以使用super变量来获取原来的代码。

8.封装:就是把数据和行为结合起在一个包中,并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段.
继承:通过扩展一个类来获得一个新类叫继承(inheritance),而所有的类都是由Object根超类扩展而得.
构造方法是为对象

初始化操作编写的方法,也类中的一种特殊方法,用它来定义对象的初始状态。在Java语言中的每个类都有构造方法,它也是由方法名、参数和方法体组成的

9.Error与Exception有什么区别?
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择。
 Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。

10.Overload和Override的区别
方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法可以改变返回值的类型.

11.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify

12.Collection 和 Collections的区别。
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

13.简述Java程序的开发过程?
(1)使用一个文字编辑器,编写源文件。
(2)使用java编译器,编译源文件得到字节码文件。
(3)运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。

14.简答表达式++x和x++的区别
++x表示在使用x之前,先使x的值加1
x++表示在使用x之后,使x的值加1




相关文档
最新文档