Ⅰ 在java中为什么子类即使有构造器后,还有在构造器中调用父类的构造器
因为如果父类有私有成员变量的话,一般在父类的构造器中初始化,因为子类构造器无法访问·父类的私有成员。也就是说继承来的父类的部分就应该由父类构造方法来构造,子类构造方法就只构造属于子类的那部分。所以即时你没有显式调用父类的无参构造方法,编译器也会帮你加上,如果父类没有无参构造方法,你又没有显式调用有参构造方法,就会报错。
Ⅱ java构造函数中调用构造函数的问题
不是,因为你初始化(即new)的时候调用的是无参构造函数,所以先调用的是无参构造函数,只不过你在无参构造函数中有调用了有参构造函数(即this(1)),所以当无参构造函数还没有执行到System.out.println("3
Default!!");时,有参构造函数先执行了System.out.println("3
NotDefault!!");所以在输出是会出现“3
NotDefault!!”在"3
Default!!"之前的情况.
Ⅲ java怎么在构造方法里面调用另外一个构造方法啊,在线等,急
第三个 Students 不是构造方法,不能在其里面调用另外的构造方法,正确如下:
classStudent{
intno;
Stringname;
intmath;
intjava;
intphy;
Student(intno,Stringname){
this(no,name,0,0,0); //调用构造方法
}
Student(intmath,intjava,intphy){
this(0,"",math,java,phy); //调用构造方法
}
Student(intno,Stringname,intmath,intjava,intphy){
this.no=no;
this.name=name;
this.math=math;
this.java=java;
this.phy=phy;
}
}
Ⅳ java中如何实现构造方法的调用
public class Util {
public String name;
public Util(){
System.out.println("无参构造方法..");
}
public Util(String name){
this.name = name;
System.out.println("有参构造方法.."+name);
}
public static void main(String[] args) {
Util u1 = new Util();
Util u2 = new Util("小明");
}
}
Ⅳ 在java中,子类构造器总会调用父类构造器,那么子类构造器调用父类构造器为什么只能调用一次呢
调用一次就够了,每次子类需要实例化的时候,就会先调用父类的构造函数,默认是隐式调用,如果要在子类中显式调用那么在子类构造器中的第一行用super();就行了。。
Ⅵ 如何理解Java构造器中调用构造器
给你举个例子吧:
JAVA的类是可以拥有多个构造函数的,所以:
packagecom.sxt.action;
publicclassApple{
Stringname;
Stringcolor;
Stringsize;
publicApple(Stringname){
this.name=name;
}
publicApple(Stringname,Stringcolor){
this(name);
this.color=color;
}
publicApple(Stringname,Stringcolor,Stringsize){
this(name,color);
this.size=size;
}
/*亲爱的朋友,这是测试代码O(∩_∩)O~*/
publicstaticvoidmain(String[]args){
Applea=newApple("红富士","red","big");
System.out.println(a.name);
System.out.println(a.color);
System.out.println(a.size);
}
}
---------------------------------
也就是说,一个类的构造函数可以用this来调用这个类已经写好了的构造函数。
这样写的好处在于:从程序中就可以看到,当创建这个类Apple的时候,可以自由的选择传入几个构造参数。这在某些情况下是很方便的。
Ⅶ java里实例方法怎么调用构造器,同一个类里
不能
你可以将构造器里面的方法封装在本类里面的另外一个私有方法中,然后在其他方法调用的时候,调用这个私有方法。
例如:
public class A{
public A(){
init();
}
private void init(){
原构造方法中的
}
public void fun(){
init();
}
}
Ⅷ java中,子类构造器为什么老是调用父类构造器
构造器是为了初始化才会有的。
什么是初始化?就是说一些准备工作,我有那些属性、方法,
子类继承父类就是要使用父类里的东西(属性、方法),但是怎么才能知道父类里有什么呢?
那就要先把父类初始化一下,然后父类就具有了相应的属性和方法。
父类初始化完成了,表示具有一些东西了,这时候,子类才会初始化自己。
说的已经很明白了,采纳哦。
Ⅸ java中怎么在有参构造器调用无参构造器
系统不会在调用有参构造方法的时候自动调用无参构造方法。需要自己手工实现 1、在有参构造函数中调用无参构造函数 例如: public class TA{ public TA(){//定义无参构造函数 } public TA(int a){//定义有参构造函数 this();//调用无参构造函数 }}