面试

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。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值