当前位置: 首页 > news >正文

Java进阶之路:构造方法

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝

🥇博主昵称:小菜元

🍟博客主页:小菜元

🥗感谢点赞👍评论🃌

⚇很方便的在线编辑器:Lightly

让我们一起在写作中记录学习吧!

目录

Java构造方法是什么

Java构造方法的样式以及基本概念


Java构造方法是什么

Java的构造方法也叫构造函数,他和类里的其他方法的区别其实并不大,最大的区别就是使用的时间和方法,即当我们对创建类的实例时,他就会随着实例进行执行,当我们不对构造方法进行重载或重写时他是没有返回值,不容易被发现的,因为这时他并没有被我们写出来!而当我们进行重载时并进行值的输入,他就会根据你的定义进行运行!

Java构造方法的样式以及基本概念

Java的构造方法的方法名与类名必须一致,否则他就不是构造方法构造方法定义必须遵循以下几个规则

  1. 不能定义构造方法静态的
  2. 不能有返回值
  3. 可以定义输入值
  4. 当定义一个构造方法时,Java就不会自动构造默认构造方法
class GouZao{public static void main(String args[]){}public GouZao(int a){}
}

他的构造方式其实很简单

class GouZao{public static void main(String args[]){GouZao gz = new GouZao();GouZao gz1 = new GouZao(10);}private int a = 1;public GouZao(){System.out.println("我是没有赋值的构造方法");}public GouZao(int a){this.a = a; System.out.println("我是赋值了的构造方法,我的数值是:"+ a);}
}

显而易见这个构造方法的定义和赋值十分简单,构造方法的作用就是在一开始对对象进行初始化,当然我们也可以对类的方法进行复制!

在Java中,构造方法的调用顺序通常遵循以下规则:

  1. 在创建子类对象时,首先会调用父类的构造方法(无参构造方法或带参构造方法)。
  2. 在父类构造方法执行完毕后,接着在子类中执行构造方法体。
  3. 如果子类中还有更多的子类,则依次递归地进行构造方法的调用。
class Parent {public Parent() {System.out.println("Parent constructor");}
}class Child extends Parent {public Child() {System.out.println("Child constructor");}
}public class Zao {public static void main(String[] args) {Child child = new Child();}
}

那这个时候就有朋友会问了,如果我父类有两个构造方法一个有参数一个没有参数,子类也是如此,那么执行思路是怎么样的

class GouZao{private int a = 1;public GouZao(){System.out.println("我是一号构造方法");}public GouZao(int a){this.a = a; System.out.println("我是带有参数的一号构造方法");}
}
class Gou1 extends GouZao{public Gou1(){System.out.println("我是二号构造方法");}public Gou1(int a){System.out.println("我是带有参数的二号构造方法");}
}
public class Zao{public static void main(String args[]){Gou1 gz = new Gou1(1);}
}

可以看出优先是无参数的!如果当我们删去无参数的构造方法,那么就会报错,同理即为不能继承有参数构造方法的类!

http://www.lryc.cn/news/463638.html

相关文章:

  • 2025秋招八股文--网络原理篇
  • C#基础-面向对象的七大设计原则
  • CSS 容器查询一探究竟
  • AI论文写作:如何轻松实现高原创度大揭秘
  • AtCoder Beginner Contest 375 A-E 题解
  • 其他-自己手动更换汽车电磁进排气阀0.9.2
  • 生成模型初认识
  • Java中的一些名词概念
  • 沈阳乐晟睿浩科技有限公司:引领抖音小店迈向新纪元
  • [图形学]蒙特卡洛积分方法介绍及其方差计算
  • 智慧社区Web解决方案:Spring Boot框架探索
  • 基于预测算法的航班离港延误系统
  • 【汇编语言】寄存器(内存访问)(七)—— CPU提供的栈机制
  • webAPI中的节点操作、高级事件
  • C++内存对齐机制简介
  • java集合进阶篇-《List集合》
  • FPGA图像处理之均值滤波
  • 高等数学 6.2 定积分在几何学上的应用
  • 缓存常见问题:缓存穿透、雪崩、击穿及解决方案分析
  • C++:拷贝构造
  • BGP(边界网关协议)
  • Spring 概念汇总
  • 快速在找到函数的实体的方法
  • 05 django管理系统 - 部门管理 - 修改部门
  • C++初阶——入门
  • Java基于SSM微信小程序物流仓库管理系统设计与实现(源码+lw+数据库+讲解等)
  • 82.【C语言】数据结构之顺序表的初始化和销毁
  • java-推荐一个控制台输出颜色ANSI字符的类
  • 关于定义结构体别名时 是否加*
  • 成语积累学习