java继承中的构造方法(java构造方法的作用)

本文目录
- java构造方法的作用
- java子类可以继承父类的构造方法吗
- 在JAVA变程中,什么是构造方法,它能用public修饰吗
- java关于继承,构造方法的调用 我的一个继承老是说找不到符号,为什么 问题二 super的用法
- java-继承/构造方法
- java中子类会继承父类的构造方法吗
java构造方法的作用
在java中,构造方法的主要作用就是对类进行初始化,是一个与类同名且没有返回值类型的方法,当类实例化一个对象时会自动调用构造方法,而且如果没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,对于这一点还是需要了解的。
:man_technologist:初始化类
构造方法的主要作用就是对类进行初始化。
:robot:自动调用
当类实例化一个对象时会自动调用构造方法。
:wrench:重载构造方法
可以在一个构造方法里调用其他重载的构造方法,不是用构造方法名,而是用this(参数列表)的形式,根据其中的参数列表,选择相应的构造方法。
:books:资料拓展
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
java子类可以继承父类的构造方法吗
一,java子类不能继承父类的构造方法(可以调用,但不是继承):
1、构造方法的定义是与类的名称相同:如果子类能够继承父类的构造方法,那么在子类的构造方法中就有不同于子类名称的构造法;
2、这与构造方法的定义不符,因此子类是不能继承父类的构造方法的;
***隐藏网址***
二,子类继承父类时,需要注意以下三点:
1、在子类继承父类的时候,子类必须调用父类的构造函数;
2、在父类有默认构造函数,子类实例化时自动调用,在父类没有默认构造函数,即无形参构造函数,子类构造函数必须通过super调用父类的构造函数;
3、在java的继承当中子类是不可以继承父类的构造函数,只能调用父类的构造函数。
在JAVA变程中,什么是构造方法,它能用public修饰吗
构造方法是一种特殊的方法,与一般的方法不同是: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。 在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: (1)构造方法名与类名相同. (2)构造方法不返回任何值,也没有返回类型. (3)每个类可以有零个或多个构造方法. (4)构造方法在创建对象时自动执行,一般不能显式地直接调用.
至于如果你做个private类而里面是public方法,这样设计没人拦着你,你的类存在是为了什么要先搞清楚,如果你做个封装不想让别人看到类内部结构可以全私有,如果你要子类能看到就用protected,如果随便无所谓就用public
java关于继承,构造方法的调用 我的一个继承老是说找不到符号,为什么 问题二 super的用法
你的父类写了有参构造方法后,你没写无参构造方法,而调用子类构造方法时要调用父类的构造方法,默认的是调用无参构造方法,而你父类中没有无参构造方法,所以报错;
当你在父类写上无参构造方法后,就不会报错了 ;你在子类构造方法里写上父类有的有参构造方法,父类里有 也不会报错,就通过编译了
调用父类的构造方法 只能在子类的构造方法里 ,而且是在子类构造方法的第一行;在其他方法里就会报错了
super 在构造方法里能调用父类的构造方法,只能写在第一行
用法:super(); super(参数列表)
在其他(不包括主方法)里可以调用父类的方法
用法:super.父类的方法名(有参数的参数写在这括号里); super.属性名;
方法名和属性名都是非私有的才能被调用
java-继承/构造方法
class Goods {
double unitPrice;//单价
double account;//数量
Goods(double unitPrice, double account){
this.unitPrice = unitPrice;
this.account = account;
}
double totalPrice(){//计算总价
return unitPrice*account;
}
void show(){
System.out.println("单价:"+unitPrice);
System.out.println("购买数量:"+account);
System.out.println("购买商品的总金额:"+this.totalPrice());
}
}
class Clothing extends Goods{
String style;//样式
Clothing(String style, double unitPrice, double account) {
super(unitPrice, account);
this.style = style;
}
void show(){
System.out.println("衣服单价:"+unitPrice);
System.out.println("衣服数量:"+account);
System.out.println("衣服总金额:"+this.totalPrice());
}
void showClothing(){
System.out.println("衣服样式:"+style);
this.show();
}
}
public class Prog1{
public static void main(String args) {
Clothing clothing = new Clothing("蓝色风衣",100,2);
clothing.showClothing();
}
}
java中子类会继承父类的构造方法吗
是的,继承是子类会继承父类的属性和方法,构造方法也是属于方法,所以会继承构造方法,例如:
public class concept {
public static void main(String args){
Chicken c=new Chicken("小白");
c.desc();
System.out.println("**********************");
HomeChicken hc=new HomeChicken();
hc.desc();
System.out.println("**********************");
//创建对象其实就是调用构造方法
Pheasant p=new Pheasant("小花");
p.desc();
}
}
//父类(超类)
class Chicken{
String name;
//若父类没有默认方法,则加入参数
public Chicken(String name){
System.out.println("Chicken"+name);
}
public void desc(){
System.out.println("我是一只鸡");
}
}
//子类
class HomeChicken extends Chicken{
public HomeChicken(){
super("小白");
System.out.println("HomeChicken");
}
}
//子类野鸡类
class Pheasant extends Chicken{
public Pheasant(String name){
super(name);
this.name =name;
System.out.println("Pheasant");
}
}
在这里,
public class concept {
public static void main(String args){
Chicken c=new Chicken("小白");
c.desc();
System.out.println("**********************");
HomeChicken hc=new HomeChicken();
hc.desc();
System.out.println("**********************");
//创建对象其实就是调用构造方法
Pheasant p=new Pheasant("小花");
p.desc();
}
}
//父类(超类)
class Chicken{
String name;
//若父类没有默认方法,则加入参数
public Chicken(String name){
System.out.println("Chicken"+name);
}
public void desc(){
System.out.println("我是一只鸡");
}
}
//子类
class HomeChicken extends Chicken{
public HomeChicken(){
super("小白");
System.out.println("HomeChicken");
}
}
//子类野鸡类
class Pheasant extends Chicken{
public Pheasant(String name){
super(name);
this.name =name;
System.out.println("Pheasant");
}
}
在这里HomeChicken 继承父类Chicken,在子类HomeChicken中,也继承了父类的Chicken()方法

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30



