JAVA期末简答题参考
JAVA基本语法
1.基本数据类型与字节数组、字符数组的互相转换方式?试举例说明。
答:
2.字符串类型如何与字节数组、字符数组的互相转换?
答:
使用字符串类型的getBytes()方法可到的字节数组、用toCharry()方法可得到字符数组。
使用字符串类型的构造方法即可将字节数组、字符数组转换成字符串类型。
3.字符串类型如何与基本数据类型互相转换?
答:
字符串类型转换为基本数据类型:调用基本数据类型对应的封装类的parseXxx()方法
基本数据类型转化为字符串类型:调用String类的valueOf()方法
4.什么是基本数据类型的封装类?自动装箱、自动坼箱的概念及举例说明。
答:就是按照面向对象的做法,将基本数据类型封装成对象。
如int的封装类是Integer
自动装箱:将基本数据类型的变量赋给对应的包装类变量
自动拆箱:将包装类对象类型直接赋给一个对应的基本数据类型变量
如 Integer num = 12;
int count = num + 1; 这里的count=13
equals()方法
1.什么是抽象类?什么是接口?试说明它们的区别和联系,使用接口有什么好处?
答:
由abstract修饰的类叫做抽象类。
接口相当于抽象类,但实质上是类类型。
接口中定义的方法都是抽象方法,定义的属性都是常量
在方法前默认加public abstract
在属性前默认加public static final
好处:接口和类不同,不具有单继承性,可以继承多个接口
2.一个类允许实现多个接口吗?允许继承多个类吗?
答:
允许实现多个接口,不允许继承多个类
3.JAVA中定义类的时候,构造方法可以是私有的吗(private修饰)?如果允许,如何构造该类的对象?可举例说明。
答:
可以
class Person{
private Person(){
}
private static Person person = new Person();
public staitc Person getPerson(){
return person;
}
}
public class Test{
public static void main(String [] args){
Person p = Person;
}
}
4.什么是方法的重载?什么是方法的重写?可举例说明。
答:
在一个程序中定义多个名称相同,但参数的类型或个数不同的方法这就是方法的重载。
在继承关系中,子类会自动继承父类中公共的方法,但有时在子类中需要对继承的方法进行一些修改,对父类的方法进行重写,要求有相同的方法名、参数列表、返回值类型。
5.试说明“==”与equals(Object类)方法之间的关系? 子类重写equals方法在编程中有何意义?可举例说明。
答:
==比较的是地址
equals比较的是两个对象的内容
重写equals()是为了实现自己的区分逻辑。
例如:“abc”.equals(“abc”)返回true是我们要的结果,符合我们区分逻辑。而不是像Object的equals方法那样“this == obj”引用相等才相同。所以String需要重写Object的equals方法。
6.JAVA中对于字符串数据进行处理有哪些类?各有什么特点?它们有什么联系?可举例说明。
有三种类:
String、StirngBuffer、StringBuilder
String:String类的方法都是返回new String。即对String对象的任何改变都不影响到原对象,对字符串的修改操作都会生成新的对象。
StringBuffer:可变字符序列、线程安全
StringBuilder:可变字符序列、线程不安全
异常
1.什么是异常?JAVA中如何处理异常?
答:
异常是程序中出现的不正常情况,而不是JAVA虚拟机本身比较严重的错误
利用try-catch或try-catch-finally结构处理异常
2.JAVA中的异常可以分为运行时异常和受检异常,它们的含义是什么?可举例说明。
答:
运行时异常,指的是RuntimeException类以及它的子类
JAVA编译器在编译的时候不会提示和发现的异常,不强制要求程序进行处理
受检异常:指的是除RuntimeException以外的异常,从语法上必须进行处理的异常需利用try-catch或try-catch-finally结构处理异常
或者利用throw或throws抛出异常
3.如何利用throw和throws抛出异常?
答:
throw必须写在方法中,执行throw语句的地方就是一个异常抛出点
throws:写在方法声明中表明将要抛出何种异常,可以抛出多个异常
集合
如何理解JAVA中的集合框架?它包括哪些类型?各有什么特点?
答:
集合框架:为表示和操作集合而规定的一种统一标准体系结构。
集合可分为两大类:单列集合Collection和双列集合Map
Collection:有两个重要的子接口List和Set。List元素有序允许重复
Set元素无序不允许重复
Map存储具有键(Key)值(Value)映射关系的元素,Key是唯一的
输入输出
1.JAVA中,如何进行标准输入和标准输出?JAVA如何进行输入输出重定向?
答:
标准输入:System.in
标准输出:System.out、
2.JAVA中的输入输出按传输的数据单元可以分为字节流和字符流,按传输的方向分为输入流和输出流。你所了解的输入流和输出流有哪些?各有什么特点?(可举例说明)
多线程
1.什么是进程?什么是线程?进程与线程有什么关系?
答:
在一个操作系统中,每一个独立执行的程序都可以成为一个进程
在一个进程中还可以有多个执行单元同时运行,来同时完成多个程序任务,这些执行单元被称为线程。
2.JAVA中如何实现多线程编程?(利用Thread和Runnable举例说明。 答:
1.Thread类实现多线程
(1)创建一个Thread线程类的子类,同时重写Thread类的run()方法;
(2)创建该子类的实例对象,并通过start()方法启动线程。
2.Runnable接口实现多线程
(1)创建一个Runnable接口的实现类,同时重写接口中的run()方法
(2)创建Runnable接口的实现类对象
(3)使用Thread有参构造方法创建线程实例,并将Runnable接口的实现类的实例对象作为参数传入
(4)调用线程实例的start()方法启动线程
3.JAVA中多线程编程中,如何理解线程的生命周期及其状态转换?
答:Java官方API将线程的整个生命周期分成6个状态,分别是新建状态、可运行状态、阻塞状态、等待状态、定时等待状态、终止状态。
转化状态p362
4什么是线程的同步?举例说明如何实现线程同步?
答:
限制某个资源在同一时刻只能被一个线程访问
实现线程同步的方法
(1)同步代码块
synchronized(lock){//操作共享资源代码块}
(2)同步方法
被synchronized修饰的方法在某一时刻只允许一个线程访问。
网络编程
1.关于JAVA的网络编程,如何实现TCP协议通信?
2.关于JAVA的网络编程,如何实现UDP协议通信?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。