2006年1月1日19:26:58
设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。(选做)
Math.random()方法可以随机产生0~1之间的double类型的小数。
JAVA多线程编程。用JAVA写一个多线程程序 (一般掌握)
Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示(一般掌握)
用JAVA实现数据库查询,这是一道编程题。(重点掌握)
基本操作。
基本的对象需要简单的记忆。
输入一串字符,输出时倒转过来。
例如:
输入: Hello ! This is a test text .
输出:. text test a is This ! Hello
问答题
Java中异常处理机制?
使用try,catch和finally。把有可能产生违例的代码放到try的语句块中,一旦这些代码产生了违例,就会执行相应的catch语句块中的语句,finally语句块的代码,不管有产生违例都会执行的。
事件机制?
事件监听器接口,定义了事件的处理方法。
事件源:产生事件的组件
事件源对自己感兴趣的事件进行注册(注册监听器),然后事件源一旦产生事件,就会调用相应的事件处理方法,执行相应的代码。
JAVA中的多形与继承?
可出编程,选择题。
抽象类与接口?
接口的好处是将实现与表现分离。
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,声明方法。不能创建abstract 类的实例。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。没有一个有程序体。接口只可以定义static final成员变量。一个类实现接口要实现接口的所有方法。
STRING与STRINGBUFFER的区别。
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
谈谈final, finally的区别。
final—(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。
finally—异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
Collection 和 Collections的区别。你千万别说一个是单数一个是复数。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
GC是什么? 为什么要有GC?
Garbage Collection
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)返回12,Math.round(-11.5)返回-11;
Java有没有goto?
Goto—java中的保留字,现在没有在java中使用。
数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。
String有有length()这个方法。
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
给我一个你最常见到的runtime exception。如果你这个答不出来,面试的人会认为你没有实际编程经验。
IndexOutOfBoundsException
ClassCastException
error和exception有什么区别?
error 表示一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示可以处理的问题。
接口是否可继承接口?
可以
启动一个线程是用run()还是start()?
Start()
构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload
是否可以继承String类?
String类是final类故不可以继承。
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
数组和vector的区别
数组不可以随时改变大小,可以保存引用类型的数据和基本类型的数据。
Vector 可以随时改变大小,只可以保存引用类型的数据。
JAVA类实现序例化的方法是实现java.io.Serializable接口
作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
ArrayList和Vector的区别
答:就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
char型变量中能不能存贮一个中文汉字?为什么?
答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
多线程有几种实现方法,都是什么?同步实现方法,都是什么?
答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面synchronized
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:父类:
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()
{
System.out.println("InterClass Create");
}
}
public OuterClass()
{
InterClass ic = new InterClass();
System.out.println("OuterClass Create");
}
public static void main(String[] args)
{
OuterClass oc = new OuterClass();
}
}
输出结果:
C:\>java test/OuterClass
InterClass Create
OuterClass Create
float型float f=3.4是否正确?
答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4
介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
答:Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
Map提供key到value的映射
从性能上看,下面的代码有何不妥,为什么?
class A
{
public static void main(String[] args)
{
String str="";
for(int i=0;i<100;i++)
{
str+=(char)i;
}
System.out.println(str);
}
}