一段代码中,有隐式构造函数也有参数化构造函数。我觉得隐式的要不要也没事,加隐式函数的好处是什么。

解决方案 »

  1.   

    写了,你的代码以后可以使用new A()直接new出来,这个可能地球人都明白,我想说的是,当你序列化对象(有的教材也叫串行化)时,这个实现Serializable接口的类必须含有你说的隐式构造函数,也就是无参构造函数,否则会抛出StreamCorruptedException异常,不知道楼主明白了吗,可以看一下对象序列化,在进行网络传输和文件读写方面非常有用
      

  2.   

    声明一下:
    如果你有,隐式构造函数,那么你一定没有写任何其他的构造函数如果你写了其他的构造函数,隐式构造函数将不存在了,如果想使用,必须写出来才行!请参考如下代码:class A {
      
    }
    class B extends A {
      public B (int a){
        
      }
    }
    public class Test {
      public static void main(String args[]) {
        B b = new B(); // 此行编译错误哦!!
      }
    }
      

  3.   

    正确代码class A {
      
    }
    class B extends A {
      public B (){
      }
      public B (int a){
        
      }
    }
    public class Test {
      public static void main(String args[]) {
        B b = new B(); // 此行编译没有问题了!
      }
    }