有两道题:
1:public void go(int x){
assert(x>0);
switch(x){
case 2;
default:assert false;
}
}private void go2(int x){ assert(x<0);}
问三个asser哪一个或几个是正确用法。2:import java.io.*;
class Animal{
Animal(){System.out.println("a");}
}
class Dog extends Animal implements Serializable{
Dog(){System.out.println("d");}
}
public class Beagle extends Dog{}
问如果构造一个Beatle的实例,然后序列化,然后反序列化,最后打印的结果是什么?求高手
1:public void go(int x){
assert(x>0);
switch(x){
case 2;
default:assert false;
}
}private void go2(int x){ assert(x<0);}
问三个asser哪一个或几个是正确用法。2:import java.io.*;
class Animal{
Animal(){System.out.println("a");}
}
class Dog extends Animal implements Serializable{
Dog(){System.out.println("d");}
}
public class Beagle extends Dog{}
问如果构造一个Beatle的实例,然后序列化,然后反序列化,最后打印的结果是什么?求高手
解决方案 »
- eclipse下packgage相关问题
- 高分!HttpClient提交数据到服务器出现异常:Content-Length header already present
- 递归的问题,被搞晕了......
- 如何取得用户邮箱限额、以及当前邮箱实际空间大小?POSTFIX+DOVECOT
- 有谁能提供一个好用的表格控制,要求能实现单元格合并(包括表头)。网上找的都太贵,俺没钱!
- 请解释一下JButton事件的处理流程
- 请问print()和write()区别,请赐教!
- Java多线程和GUI问题
- JBuilder高难度(来者有分)。。。。。
- (JBuild 4.0) jdatastore 的KEY
- 我是初学者,请大家帮忙看看这个小程序的问题怎么修改?
- 求JAVA 字符串中如何截取字母
assert false;是可以用的
2.
public static void main(String[] args)throws Exception {
Beagle beagle = new Beagle();//输出:a d
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bo);
out.writeObject(beagle);
byte[] buff = bo.toByteArray();
ByteArrayInputStream bin = new ByteArrayInputStream(buff);
ObjectInputStream oin = new ObjectInputStream(bin);
beagle = (Beagle)oin.readObject();//输出:a
}
Dog可以序列化,那么Dog的子类都可以序列化,因此 Beagle可以序列化。但是Dog的父类并不能序列化,因此,反序列化的时候,需要构造父类的实例,只能调用无参的构造函数来实现