1:下面那些说法是正确的?()
A:java语言是真正的面向对象的语言,任何代码都是类的一部分。
B:运行java程序必须需要java运行环境的支持,例如需要java虚拟机JVM
C:使用Visnal J++在windows下开发的所有java程序可以不加修改的在Unix下运 行,这是java程序“一次编写,到处运行”的特点决定的。
D:java语言的类加载器可以实现从互联网上加载java程序。
2:关于java类下面说法“错误”的是?()
A:一个java类源程序就是一个后缀名为java的操作系统文件,并且类名应于文件名相同
B:java类只能有一个父类,但可以实现多个接口。
C:java类的static类型成员变量最多有一个实现,即使该类有多个对象同时存在
D:在未被实例化之前(生成具体对象之前),java的static类型成员函数可以存取公共的非静态成员变量,但不允许存取私有的非静态成员变量。
E:对于不允许被子类更改的成员变量,应该声明为final类型
3:假设我们开发一些java类,在操作系统的目录结构如下
prog目录下zt和mg两个目录
zt目录下有zta.class和ztb.class,且属于prog.zt包
mg目录下有mga.class和mgb.class,且属于prog.mg包
下面的说法是正确的是?( )
A:不管如何更改CLASSPATH都不能用java zt.zta运行zta.class
B:因为mga.class和mgb.class都属于prog.mg包,所以不需要用import来扩展就可以互相调用。
C:因为mga.class和zta.class都属于prog包,所以不需要用import来扩展就可以互相调用。
4:下面那些说法是“错误”的?()
A:用New运算符来创建的对象,在JVM退出时才会被做垃圾回收
B:判断一个对象是否可以被垃圾回收的条件为是否还有对该对象的引用
C:java函数的参数传递规定,所有的原始类型(如整数)和对象(使用new来创建的)都为地址传递。
D:java函数支持重载,但函数必须至少有一个参数或返回值的类型不同或个数不同。
5:下面叙述那些是正确的?()
A:java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。但需要事先知道所存储对象的类型,才能正常使用。
B:在java中,我们可以用违例(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要更大的系统开销。
C:java接口包含函数声明和变量声明。
D:java中,子类不可以访问父类的私有成员和受保护的成员。
6:请读下面的一个完整的类,并解释该类的作用(说明类的主要功能即可)?
Package ebjs.common.taglib;
import java.util.Vector;
import java.io.Serializable;
//注解:实现Comparable接口的类可以使用Comparable的ComparaTo函数比较大小
//Serializable接口是序列化接口
public class QueryResultLine implements Comparable,Serializable
{
private int compIndex = 0; //index for comparing base is 0
private int elementIndex = 0; //number of fields,basse is 1.e.g.has one field,return 1
private Vector queryline = new Vector()
private Boolean reverseOrder = false;
public void setReverseOrder(Boolean x)
{
reverseOrder = x;
}
public int getLength()
{
return elementIndex;
}
public void addField(String x)
{
String newX = new String(x);
queryLine.add(elementIndex,newx);
elementIndex++;
}
public String getField(int x)throws IndexOutOfBoundsException
{
if(x < 0 || x > = elementIndex)
{
throw new IndexOutOfBoundsException (“Index out of Bounds
Exception.index is ”+x);
}
else
{
return((String)queryLine.elementAt(x));
}
}
public int setCompIndex(int x)
{
if((x < 0) || (x > = elementIndex))
return 0;
else
{
compIndex = x;
return 1;
}
}
public int getCompIndex()
{
return compIndex;
}
public int compareTo(java.lang.Object o) throws IndexOutOfBoundsException
{
String x1,x2;
if(compIndex < 0 || compIndex > = elementIndex)
throw new IndexOutOfBoundsException();
x1 = this.getField(compIndex);
x2 = ((ebis.common.taglib.QueryResultLine) o).getField(compIndex);
if(x1 == null && x2 == null) return 0;
if(x1 != null && x2 == null)
{
if(reverseOrder) return -1
else return 1;
}
if(x1 == null && x2 != null)
{
if(reverseOrder) return 1
else return -1;
}
if(reverseOrder) return(-x1.compareTo(x2));
else return (x1.compareTo(x2));
}
}
7:请编写一个类,可以实现求整数的阶乘并打印结果,并编写main函数求100的阶乘。阶乘公式为f(x) = x*(x-1)*(x-2)*…*2*1,但0的阶乘等于1,类的初始化函数接受一个正整数参数作为x。
面试
最新推荐文章于 2022-05-11 20:51:42 发布