Java 构造方法

在 Java 编程中,我们经常需要创建对象并对其进行初始化。构造方法(Constructor)就是专门负责对象初始化的特殊方法。

什么是构造方法?

构造方法是一种特殊的方法,它在创建对象时被自动调用,主要用于初始化对象的成员变量。来看一个简单的例子:

java 复制代码
/*
 * 构造方法:
 *   (1)构造方法的方法名必须和类名一样
 *   (2)构造方法没得返回值,就不能用return返回任何东西,如果要返回,只能返回空
 *  (3)在实例化对象时,构造方法会被自动调用
 *
 * */
public class Demo02 {
    public static void main(String[] args) {
/*        Animal animal = new Animal("xiaobai", 19);
        System.out.println(animal.getName());
        System.out.println(animal.getAge());*/

        Animal ani01 = null;
        ani01 = new Animal("xiaobai", 19);
        Animal ani02 = new Animal("xiaohei", 19);
    }
}

class Animal {
    private String name;
    private int age;

    public Animal(String n, int a) {
        System.out.println("构造方法被调用");
        name = n;
        age = a;
    }


    public void setName(String n) {
        name = n;
    }

    public void setAge(int a) {
        age = a;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void say() {
        System.out.println("name = " + name + "; age = " + age);
    }
}

注意事项

  1. 访问修饰符:构造方法可以有访问修饰符(public、private、protected),用于控制对象的创建权限。
  2. 不能被继承 :构造方法不能被子类继承,但子类可以通过super()调用父类的构造方法。
  3. 不能是 abstract、static、final 或 native:这些修饰符与构造方法的特性冲突。
  4. 异常处理:构造方法可以抛出异常,也可以使用 try-catch 处理异常。

总结

构造方法是 Java 面向对象编程中的重要概念,掌握它对于编写健壮的代码至关重要:

  • 构造方法用于初始化对象,在使用new创建对象时自动调用
  • 构造方法名称必须与类名相同,没有返回值类型声明
  • 一个类可以有多个构造方法(重载),提供不同的初始化方式
  • 使用this()可以在构造方法中调用其他构造方法,避免代码重复

通过合理使用构造方法,我们可以确保对象在创建时就处于有效的状态,提高代码的可靠性和可维护性。

相关推荐
_F_y4 小时前
C++重点知识总结
java·jvm·c++
打工的小王4 小时前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
毕设源码-赖学姐4 小时前
【开题答辩全过程】以 高校体育场馆管理系统为例,包含答辩的问题和答案
java·spring boot
我真会写代码4 小时前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
vx_Biye_Design4 小时前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计
DN金猿4 小时前
接口路径正确,请求接口却提示404
java·tomcat
Maynor9965 小时前
OpenClaw 玩家必备:用 AI 自动追踪社区最新动态
java·服务器·人工智能
堕2745 小时前
java数据结构当中的《排序》(一 )
java·数据结构·排序算法
亓才孓5 小时前
[Class的应用]获取类的信息
java·开发语言
开开心心就好6 小时前
AI人声伴奏分离工具,离线提取伴奏K歌用
java·linux·开发语言·网络·人工智能·电脑·blender