class SuperClass {
private int n;
SuperClass(int n) {
System.out.println("SuperClass(" + n + ")");
this.n = n;
}
}
class SubClass extends SuperClass {
private int n;
SubClass(int n) {
System.out.println("SubClass(" + n + ")");
this.n = n;
}
SubClass() {
super(300);
System.out.println("SubClass()");
}
}
public class TestSuperSub {
public static void main(String arg[]) {
SubClass sc1 = new SubClass();
}
}
这个为什么会出错
你现在在线的话 给我说说你的QQ 我们在QQ上说
追答67406947
...类中定义构造函数时定义了一个有参数的构造函数 ,是否必须定义空参数...
不用了,因为你自己定义了有参的构造函数以后,其实已经调用了无参的构造函数(其实你自己写的构造函数会默认调用this();方法,只不过写不写都一样,不信你在你的有参构造的第一句,必须第一句,写this();试试),自己定义了有参构造函数以后,就必须用有参构造函数来初始化了,这个你懂得 ...
java中怎么在有参构造器调用无参构造器
系统不会在调用有参构造方法的时候自动调用无参构造方法。需要自己手工实现 1、在有参构造函数中调用无参构造函数 例如: public class TA{ public TA(){\/\/定义无参构造函数 } public TA(int a){\/\/定义有参构造函数 this();\/\/调用无参构造函数 }} ...
Java构造函数 为什么需要无参构造函数
补充下楼上的回答~~“但是如果你创造了一个带有参数的构造方法,那么无参的构造方法必须显式的写出来,否则会编译失败"这句话有点不妥,应该这么理解:每个类至少要有一个构造函数,如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,不过当你尝试通过一个无参的构...
java假设父类中定义了一个带有参数的构造函数,那在子类构造函数(除注 ...
不用……一般如果自己写了带参构造函数,就需要自己手动写一个无参构造函数。你不写有参的构造函数,就会默认的生成一个无参构造函数。上面这个问题只需要在父类自己写个无参构造函数就没有问题了,其实这样的问题,你可以在IDE上敲代码试试就知道了,可能印象会更深刻一点 ...
java 构造函数的构造函数的继承
java构造函数的继承问题\/\/不能继承(1)子类只继承父类的默认(缺省)构造函数,即无形参构造函数。如果父类没有默认构造函数,那子类不能从父类继承默认构造函数。(2)子类从父类处继承来的父类默认构造函数,不能成为子类的默认构造函数。(3)在创建对象时,先调用父类默认构造函数对对象进行初始化...
构造函数的有参和无参的区别,构造函数的参数是派什么用场的?
如果构造方法有参数,在创建对象时传入了参数,那么就会调用此方法,这一点和重载类似。2.没有参数的构造函数就是默认构造函数。有参数的构造函数可用传递的参数给类中的属性赋初始值或执行初始化操作例如订阅事件等。构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它通常初始...
java构造函数
第一种:public class test{ public test(){} \/\/如果没有自己写构造函数,系统会自己默认这样一个构造函数 \/\/当然,如果你这个类有继承其他父类,那么在构造函数内会先调用父类的构造函数 } 第二种:public class test{ public test(){}\/\/因为这里我们自己定义了带参数的构造函数,所以系统不会默认...
java 找不到符号
你写这个类的时候写了一个带参数的够着函数Point(int a,int b) ,这就覆盖了无参的构造函数,但是你在main函数中new这个类的时候用的是无参的构造函数(pt=new Point();),类中又没有,所有编译器说找不到构造函数Point()一般有这个习惯,不管怎么样,都要将无参的构造函数写上,可以减少你...
我编了一个JAVA程序 用Eclipse 编的 它老是报错 “没有为缺省构造函数定...
参数); 即没有向超类传参数,那么超类必须有无参的构造函数。如果一个类定义了有参数的构造函数,编译器便不会再提供无参的默认构造函数。你应该是用Animal类派生了一个子类,Animal类定义了有参的构造函数,在子类的构造函数中有没有super(参数);,所以编译器报错了 ...
Java我已经定义了构造方法为什么还是提醒我未定义?
java已经定义了构造方法,还是提醒未定义,是因为新建对象时,使用的构造函数,并没有包含没有参数的构造函数,而代码上已经声明了有参数的构造函数。java中默认每个类都要有一个无参构造。如下代码:package com.qiu.lin.he;public class Ceshi {public Ceshi(String str){\/\/有参构造函数}public ...