当前位置:首页 » 编程语言 » java子类构造函数

java子类构造函数

发布时间: 2023-02-06 21:37:57

java 子类的构造函数都必须要super();吗

不是必须的,在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.

⑵ java中子类继承父类后 子类可以有自己的构造函数么

可以。

你不写的话,会自动生成一个无参的构造方法。
如果父类没有无参构造方法,子类必须写一个构造方法里面调用父类的构造方法。

⑶ java中构造函数和构造方法的区别

java中没有函数的概念,方法就是指函数。所以两者是一样的。

⑷ java,中的子类继承父类,子类如何调用父类的构造函数举一个简单的例子加注释说明

子类无条件调用父类的无参构造函数,实例:

父类:

package com.test;


public class TestFatherClass {

private String name="abc";

TestFatherClass(){

System.out.println("1、这是父类的无参构造函数");

}

TestFatherClass(String a){

System.out.println("2、这是父类的有参构造函数");

}

}


子类:

package com.test;


public class TestChildClass extends TestFatherClass{

TestChildClass(){

System.out.println("3、这是子类的无参构造函数");

}

TestChildClass(String str){

System.out.println("4、这是子类的有参构造函数");

}

public static void main(String[] args) {

System.out.println("实例化对象时:(无参)");

TestChildClass test = new TestChildClass();

System.out.println("实例化对象时:(有参)");

TestChildClass test2 = new TestChildClass("adad");

}

}


输出结果:

⑸ java 子类只要定义构造函数父类就一定要有构造函数吗

Q1.java中只要调用子类的无参构造函数就要调用父类无参数的构造函数!
Q2.也不一定。
e.g 如果你子类只调用无参构造方法(没有调用多个参数的构造方法),那么父类的无参构造方法则可有可无,因为系统会帮你生成。
你应该知道,如果子只类定义了一个带有参数的构造方法,那么系统就不会帮你生成无参构造方法。父类也是如此。

⑹ JAVA中 子类与父类构造方法的关系 个人理解

编写JAVA作业时在继承的环节发现了一些错误,希望总结一些规律:(以下全部属于自己归纳,可能有问题)
一句话概括就是:子类一定会调用(不是继承)父类的构造方法!
即遵循一个原则:子类的构造一定是在父类已构造的基础上!
这句话要分为几种情况来理解(下面只讨论父类有构造函数):
子类构造函数自动调用super() (也可以手动加上)
但如果父类只有含参数的构造方法,那么子类必须申明一个构造方法,其中包含对super(args)的调用
一、父类含有无参构造函数
1、子类没有构造方法或者含有无参的构造方法:
这种情况,都会默认地调用super()
2、子类含有有参数构造方法:
同样会在首句默认调用super() //其实跟情况1类似
二、父类含有含参数的构造方法,不含无参数的构造方法:
子类没得选择:
子类必须申明一个构造方法(且含super的args),且方法里要首先调用super(args),否则报错。
三、父类含 含参数的构造方法和无参的构造方法:
此时子类可以选择性调用:
可以无构造方法:仍会默认调用super()
也可以有构造方法:其中会默认地调用super(),你也可以在开头加上这句,如果你不希望调用父类默认的无参方法,那么在 子类构造方法 中调用 父类含参构造方法。
上述看似情况复杂,其实基于其原则理解并不难。
综上:java为了保持 子类的构造基于父类的构造 这一原则,子类构造时必须通过某些方式首先调用父类的构造方法,否则会报错。

⑺ java子类的构造函数...

父类少了个无参构造方法。或者在子类的构造方法中改一下
fish(String n,int s){//子类fish的构造函数
super(n);
swimspeed=s;
}

热点内容
beego上传文件 发布:2024-05-07 11:59:20 浏览:209
安卓如何设置拒接来电 发布:2024-05-07 11:56:25 浏览:569
锐志丐版有哪些配置 发布:2024-05-07 11:50:23 浏览:323
虚拟usb加密狗安装 发布:2024-05-07 11:41:14 浏览:866
武汉中南医院无线网密码是多少 发布:2024-05-07 11:20:22 浏览:356
如何把域名指向到指定服务器ip 发布:2024-05-07 10:48:49 浏览:365
base64javaphp 发布:2024-05-07 10:30:07 浏览:849
抖音青少年模式的密码是哪里的 发布:2024-05-07 10:05:27 浏览:752
tmp文件怎么解压 发布:2024-05-07 09:59:49 浏览:939
安卓手机如何提升录歌音质 发布:2024-05-07 09:49:55 浏览:331