JAVA--类和对象4.1--构造方法基础

构造方法的类型

  • 默认构造方法(无参构造)
  • 例如:public Student( ){ } //参数列表为空
  • 自定义构造方法(带参构造)
  • 例如:public Student(String name,String gender,int age){ } //参数列表有参数(全参)
  • 构造方法的重载
构造方法的语法规则
  • 方法名必须与类名一致
  • 无返回类型(包括 void)
  • 支持访问修饰符(public、private 等)
构造方法的实际应用
  • 对象初始化时的属性赋值
  • 通过构造方法实现对象依赖注入
  • 链式构造方法调用(this())

Student类函数

java 复制代码
package com.oop.gouzao;

public class Student {

    //姓名年龄性别
    private String name;
    private String gender;
    private int age;

    //构造方法
    //空参构造方法
    public Student(){
        System.out.println("空参构造方法被调用");
    }

    public Student(String name,String gender,int age){
        System.out.println("有参构造函数被调用");

    }
}

TEST

java 复制代码
package com.oop.gouzao;

public class TEST {
    public static void main(String[] args) {

        Student s1 = new Student();
        Student s2 = new Student("王11","男",13);

    }
}

输出结果:

可以看到,先调用了空参构造方法,再调用了全参构造方法

注意:

1.构造方法并不是 类名.函数名()的调用方法,而是在对象实例化的时候自动调用

2.构造方法的调用,会自动匹配参数,如果在对象实例化的过程中,参数列表为空,则会自动调用无参构造函数。如果在实例化的过程中,参数列表有参,则会自动匹配对应有参的构造函数并进行调用。

3.习惯上,无论空参构造用不用的上,我们都要写。

相关推荐
葡萄成熟时 !10 小时前
JAVA 常用API学习笔记
java·笔记·学习
剩下了什么10 小时前
float32 与 float64 精度陷阱:如何在 Go 中避免错误使用
开发语言·后端·golang
你别说话了11 小时前
Vue项目解决跨域
前端·javascript·vue.js
Rain的Java大神之路11 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
指尖时光.11 小时前
Three.js 超全入门综合案例
开发语言·javascript·ecmascript
唐青枫11 小时前
http-server:别再双击 index.html,一条命令把目录变成网站
前端·javascript
暴力求解11 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
吴声子夜歌11 小时前
Java面试题——基础(一)
java·开发语言
小庞在加油12 小时前
WinDbg实战:QT/跨平台项目死锁与无响应问题排查指南
开发语言·qt·windbg·工具
南城以南溫暖如初14712 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue