一,Java基础知识考察
1.什么是javaBeen
答:JavaBean是符合某种特定范式的Java类。使用JavaBeans的好处是解决代码复写,减少代码冗余,提高代码可维护性
2.说明类、抽象类、接口的定义,简要说明他们之间的联系和差别
答: 类:类是一个模板,它描述一类对象的行为和状态。 [public] class Test { }
抽象类:包含抽象方法的类称为抽象类 [public] abstract class Test { }
接口:接口泛指供别人调用的方法或者函数 [public] interface Test { }
抽象类和类的区别:如果包含抽象方法必须使用抽象类;
抽象类和接口的区别:语法层上的区别:
1)一个类只能继承一个抽象类,但可以实现多个接口
2)抽象类中的成员变量可以是任何类型,接口中的成员变量只能是public static final 类型
3)抽象类可以静态代码块和静态方法,接口不可以
设计层上的区别
1)抽象类是对一种食物抽象,,接口是对行为冲向
2)抽象类作为很多子类的父类,是一种版模式设计。接口是一种行为规范,是辐射式设计
3.列举说明Collection,List,Set,Map,有哪些典型的实现,个有哪些特点
7.请简述socket的通讯过程
1)建立服务端ServerSocket和客户端Socket
2)打开连接到Socket的输出输入流
3)按照协议进行读写操作
4)关闭相对应的资源
9.什么叫对象序列化?通常会在什么情况下用到它?哪些类型的数据默认实现了序列化
答:把对象转化成字节序列的过程称为对象序列化;
什么情况下要用:
1)把的内存中的对象状态保存到一个文件中或者数据库中时候;
2) 用套接字在网络上传送对象的时候;
12,请阐述java语言中的反射机制,请编写一段代码进行说明
答:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用 它的任意一个方法和属性
package com.test;
public class User {
private String name = "laobai";
private int age;
public User() {}
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}
private String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
public class ReflectTest {
private static Logger logger = Logger.getLogger(ReflectTest.class);
private static Class<User> userClass = User.class;
}