1、面向对象的三个基本特征
面向对象的三个基本特征是封装、继承和多态。
2、方法重载和方法重写的概念和区别
override(重写):是父类和子类间的多态。不可以缩小父类的访问权限;和父类的方法名、参数、返回值相同;子类方法不能抛出比父类更多的异常。
overloading(重载):类中方法间表现的多态;方法中的参数类型、个数、顺序只少有一个不同;不能存在就返回类型不同的方法;
3、接口和内部类、抽象类的特性
接口:只有方法的定义,没有具体的实现;
接口是抽象类的一种,只包含常量和方法的定义,而没有变量和方法的实现,且其方法都是抽象方法。
内部类:内部类是在一个类的内部嵌套定义的类,它可以是其他类的成员,也可以是在一个语句块的内部定义,还可以在表达式内部匿名定义。
内部类有如下特性:
? 一般用在定义它的类或语句块之内,。
? 可以使用包含它的类的静态和实例成员变量,也可以使用它所在方法的局部变量。
? 可以定义为abstract。
? 可以声明为private或protected。
? 若被声明为static,就变成了顶层类,不能再使用局部变量。
? 若想在Inner Class中声明任何static成员,则该Inner Class必须声明为static。
内部类的优缺点:
? 优点:节省编译后产生的字节码文件的大小
? 缺点:使程序结构不清楚
抽象类:有方法的定义,可以有部分实现;
4、文件读写的基本类
inputStream,outputStream
File\fileRead\
5、串行化的注意事项以及如何实现串行化
串行化注意事项:
只能保存对象的非静态成员变量,不能保存任何的成员方法和静态成员变量。而且串行化保存的是变量的值,对于变量的任何修饰符,都不能保持。
对于某些类型的对象,其状态是瞬时的,这样的对象是无法保证其状态的。例如一个thread对象或一个FileInputStream对象,对于这些字段,我们必须用transient关键字标明。
缺省的串行化机制,对象串行化首先写入类数据和类字段的信息,然后按照名称的上升排列顺序写入其数据。如果想明确地控制这些数值的写入顺序和写入种类,必须定义自己的读取数据流的方式。就必须在类的定义中重写writeObject()和readObject()方法。
只要implements serializable接口,就表明这个类参加了串行化协议。
6、线程的基本概念、线程的基本状态以及状态之间的关系
线程在程序执行过程中,能够执行程序代码的一个执行单位,每个程序知道有一个线程,那就是程序本身。
线程的四种状态:运行,就续,挂起,终止
7、线程的同步、如何实现线程的同步
Synchronized,wait和notify
8、几种常用的数据结构及内部实现原理。
线性表、堆、队列
9、Socket通信(TCP、UDP区别及Java实现方
JAVA试题和培训资料 来自淘豆网m.daumloan.com转载请标明出处.