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.习惯上,无论空参构造用不用的上,我们都要写。

相关推荐
峥无13 分钟前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波23 分钟前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
名字还没想好☜40 分钟前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
SomeB1oody1 小时前
【RustyML入门】1.0. 快速上手
开发语言·后端·机器学习·rust·教程
圆山猫1 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
狗凯之家源码网1 小时前
短剧系统搭建实战:源码功能与商业变现效果全景展示
开发语言·php
caishenzhibiao1 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
史呆芬1 小时前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛2 小时前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
许彰午2 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务