为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这行Foo2 foo2=new Foo2();会报错啊?

package com.icc;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class ObjeectSer2 {

    public static void main(String[] args)throws Exception {
        // TODO Auto-generated method stub
        ObjectOutputStream oos=new ObjectOutputStream( new
                 FileOutputStream("demo/obj1.dat"));
        Foo2 foo2=new Foo2();
        oos.writeObject(foo2);
        oos.flush();
        oos.close();
        
    }

     /*
      * 一个类实现了序列化接口,那么其子类都可以进行序列化
      */
     class Foo implements Serializable {
            public Foo() {
                System.out.println("foo");
            }
        }
    
        class Foo1 extends Foo {
            public Foo1() {
                System.out.println("foo1");
            }
        }
    
        class Foo2 extends Foo1 {
            public Foo2() {
                System.out.println("foo2");
            }
        }
}

正在回答

1 回答

你将FOO类定义到了ObjeectSer2里面了,成为了内部类,放在类外面再试试

0 回复 有任何疑惑可以回复我~
#1

初级阶段 提问者

放在外面foo2没法继承foo1了
2018-02-13 回复 有任何疑惑可以回复我~
#2

不再年轻需努力 回复 初级阶段 提问者

把所有关于foo类的定义全部放在外面去
2018-02-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这行Foo2 foo2=new Foo2();会报错啊?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号