java面试题

1.Error与Exception有什么区别? 
Error表示系统级的错误和程序不必处理的异常, 
Exception表示需要捕捉或者需要程序进行处理的异常。

2.uml是什么??统一建模语言UML 
IBM的Rational Rose和MS的Visio都是UML工具.

3.java中的顶级类
作为java程序员必须掌握java类库的两个包:java.lang和java.util这两个包

4. this 什么意思C++的this指针是指当前对象

5.javascript之XML DOM对象 1.微软通过ActiveX的MSXML库提供了支持,通过:
var oXmlDom = new ActiveXObject("MSXML2.DOMDocument.5.0")
2.XML DOM对象可以通过load和loadXML方法载入xml文件或者字符串:
    oXmlDom.load("test.xml");
     oXmlDom.loadXML("<root></root>");


6.组合与继承

1.继承和组合的概念
在新类里简单地创建原有类的对象。我们把这种方法叫作“组合”,因为新类由现有类的对象合并而成。我们只是简单地重复利用代码的功能,而不是采用它的形式。
第二种方法是创建一个新类,将其作为现有类的一个“类型”。我们可以原样采取现有类的形式,并在其中加入新代码,同时不会对现有的类产生影响。这种魔术般的行为叫作“继承”(Inheritance),涉及的大多数工作都是由编译器完成的。对于面向对象的程序设计,“继承”是最重要的基础概念之一。对于组合和继承这两种方法,大多数语法和行为都是类似的(因为它们都要根据现有的类型生成新类型)。
2.组合也就是一个类的对象是另外一个类的成员,一般的程序都有组合的意味,只不过是基本数据类型是成员变量,下面请看具体的例子
class Head
{
       Head(){
      System.out.println(" head ");
      }
}
class Body
{
      Body(){
      System.out.println(" body ");
      }
}
class Person()
{
      Head h=null;
      Body b=null;
     Person()                                //人是由头和身体组成的,Head和Body的对象是Person的一部分
    { 
      h=new Head();
      b =new Body();
    }
 
}
3.继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着及其重要的作用,好像没听说哪个面向对象的语言不支持继承
 class Person 

 private String name=null;
 private int age=0;
 public Person(String n,int a)
 {
  name=n;
  age=a; 
 }
 int getAge()
 { 
  return age;
 }
 String getName()
 { 
  return name;
 }
 void getDescription()
 { 
  System.out.println("name: "+name+"\t"+"age: "+age);
 }
}
class Student extends Person

 private String studno=null;
 public Student(String n,String no,int a)
 { 
  super(n,a);
  studno=no;
 }
}
说明:Student类中有三个成员变量name,age,studno和一个方法getDescription();
注意:子类继承了父类的所有变量和函数,只是子类不能访问父类的private类型的变量和函数,其实privae类型的变量还是继承到子类中的


7,Exception异常与RuntimeException异常区别
1、Exception异常类
Exception给的父类Throwable类的部分声明如下:
public class Throwable implements Serializable
{
 private String detailMessage;
 public Throwable();
 public Throwable(String message);

 public String getMessage()
 {
  return detailMessage;
 }
 public String toString()
 {
  String s = getClass.getName();
  String message = getMessage();
  return (message !=null)?(s+": "+message):s;
 }
 public void printStackTrace()
 {
  printStackTrace(System.err);
 }

}
异常类Exception中只声明了若干个构造方法
public class Exception extends Throwable
{
 public Exception();
 public Exception(String s);
};
2、RuntimeException运行异常类
Java的许多异常类主要分为运行异常和非运行异常。运行异常是指由程序本身错误引发的错误,这类异常程序设计时大多可以避免;非运行时异常是指由程序运行环境错误引发的异常,这类异常必须捕获并处理
运行异常类的常见子类有
(1)ArithmeticException(算法异常):除数为0
(2)NullPointerException(空对象异常):当一个对象赋值为null时,如果通过该同对象调用方法,则产生空对象异常。
(3)ClassCastException(类型强制转换异常):不能进行的转换操作
(4)NegativeArraySizeException(负数组异常):
(5)ArrayIndexOutOfBoundsException(数组下标越界异常):
(6)NumberFormatException(数值格式异常);

一个是必须捕获的异常,一个是运行时可避免的异常

 




[本日志由 admin 于 2008-02-19 08:05 PM 编辑]
文章来自: 本站原创
引用通告地址: http://www.is21.cn/trackback.asp?tbID=157
Tags:
评论: 1 | 引用: 0 | 查看次数: 1536
发表评论
你没有权限发表留言!