问答题(2014年阿里巴巴公司面试)

结合自己的理解说说什么是多态?Java是如何实现多态的?

答案解析

面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。多态的作用:消除类型之间的耦合...

查看完整答案

讨论

在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。以下代码中必须要实现Serializable接口的类是__________。ObjectInput in=new ObjectInputStream(new FileInputStream("employee. dat"));Employee[] newStaff=(Employee[])in. readObject();

Java中的抽象类Reader和Writer所处理的流是【 】。

在Java中,“目录”被看作是【 】

在Java 中,对象流以____________方法传送和存储。

Java 输入/输出流中包括字节流、____________、文件流、对象流以及管道流。

下列程序的运行结果是 【 】public class test{     private String[] data={“10”,“10.5”};     public void fun(){         double s=0;         for(int i=0;i<3;i++){             try{                 s=s+Integer.parseInt(data[i]);             }catch(Exception e){                 System.out.print(“errorl:”+data[i]);             }         }     }     public static void main(String[] args){         try{             testd=new test();             d.fun();         }catch(Exception e){             System.out.printIn(“error2”);         }     } }

下列代码的执行结果是 【 】public class Test {     public static void main(String[] args){         int[] x={0,1,2,3};         for(int i=0;i<3;i+=2){             try{                 System.out.println(x[i+2]/x[i]+x[i+1]);             }catch(ArithmeticException e){                 System.out.println("error1");             }catch(Exception e){                 System.out.println("error2");             }         }     } }

在oneMethod()方法运行正常的情况下,程序段将输出什么? public void test(){   try{    oneMethod();    System.out.println("condition 1");   }catch(ArrayIndexOutOfBoundsException e){    System.out.println("condition 2");   }catch(Exception e){    System.out.println("condition 3");   }finally{    System.out.println("finally");   } }

Java的类库中提供Throwable类来描述异常,它有Error和 __________ 两个直接子类。

下列常见的系统定义的异常中,哪个是输入/输出异常【 】