默认构造器

来源:互联网 发布:c语言类 编辑:程序博客网 时间:2024/06/05 19:15

总所周知,在写一个类得时候如果没有写构造函数,会默认有一个没有参数的构造函数。


下面看一段代码

public class Test {public static void main(String[] args) {Cat cat1 = new Cat(1);Cat cat2 = new Cat("test");Cat cat3 = new Cat();//这里会报错  The constructor Cat() is undefined}}class Cat{public Cat(int i){}public Cat(String str){}}
理论上应该有默认构造函数才对,但是cat3的实例化却报错了 说构造器没有定义

这是因为 如果已经写了一个构造器,编译器就会认为,既然写了构造器,而且没有写没有参数的构造器,那就是可以省略了无惨构造器。所以编译器就没有把这个构造函数(器)帮我们加上,所以出现了没有定义的错误。

0 0
原创粉丝点击