简单了解JAVA构造方法

简单了解JAVA构造方法

什么是构造方法

Java中每个类都有构造方法,构造方法是用来初始化对象的方法,即在使用new操作符创建对象时调用的一种特殊方法。构造方法与类名相同,无需返回类型,且不能被重载。

构造方法的特点

  1. 构造方法名要与类名相同,且区分大小写;
  2. 构造方法没有返回值类型;
  3. 构造方法没有具体的返回值,但需要使用return语句结束构造方法;
  4. 构造方法可以被重载,即有多个构造方法。

构造方法的格式

[public/private] 类名(参数列表) {
    // 构造方法体
}

构造方法的调用

构造方法在使用new关键字创建对象时自动被调用,不需要显式调用。

构造方法示例1

下面是一个简单的Person类,包含有姓名、年龄以及住址等属性:

public class Person {
    private String name;
    private int age;
    private String address;

    public Person() {
        System.out.println("调用Person类的无参构造方法");
    }

    public Person(String name, int age, String address) {
        System.out.println("调用Person类的有参构造方法");
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public void printInfo() {
        System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",住址:" + this.address);
    }
}

其中,Person类定义了两个构造方法:无参构造方法和有参构造方法。无参构造方法用于创建一个空的Person对象,有参构造方法用于创建一个具有姓名、年龄和地址信息的Person对象。

我们可以通过下面的代码来创建两个不同的Person对象并调用printInfo方法输出其信息:

public class Main {
    public static void main(String[] args) {
        Person p1 = new Person();
        p1.printInfo();

        Person p2 = new Person("张三", 18, "北京市朝阳区");
        p2.printInfo();
    }
}

输出结果如下:

调用Person类的无参构造方法
姓名:null,年龄:0,住址:null
调用Person类的有参构造方法
姓名:张三,年龄:18,住址:北京市朝阳区

构造方法示例2

下面是一个更复杂一点的示例,演示了一个银行账户类的实现:

public class Account {
    private String id; // 账户ID
    private String name; // 账户名
    private int balance; // 账户余额

    public Account(String id, String name) { // 构造方法
        this.id = id;
        this.name = name;
    }

    public Account(String id, String name, int balance) { // 构造方法
        this.id = id;
        this.name = name;
        this.balance = balance;
    }

    public String getId() { // 获取账户ID
        return id;
    }

    public String getName() { // 获取账户名
        return name;
    }

    public int getBalance() { // 获取账户余额
        return balance;
    }

    public void deposit(int amount) { // 存款
        balance += amount;
    }

    public void withdraw(int amount) { // 取款
        if (balance >= amount) {
            balance -= amount;
        } else {
            System.out.println("余额不足");
        }
    }
}

上述代码中,Account类包含了两个构造方法,一个无参构造方法和一个有参构造方法。无参构造方法为空实现,有参构造方法用于初始化账户ID、账户名以及账户余额信息。

我们可以写出下面的代码:

public class Main {
    public static void main(String[] args) {
        Account a = new Account("10001", "张三");
        a.deposit(1000);
        a.withdraw(500);
        System.out.println("账户名:" + a.getName() + ",余额:" + a.getBalance());
    }
}

输出结果如下:

账户名:张三,余额:500

本示例演示了创建一个账户对象、进行存取款操作并输出账户余额的完整流程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单了解JAVA构造方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • java 排序算法之选择排序

    Java 排序算法之选择排序 选择排序(Selection Sort)算法是一种简单直观的排序算法,它的基本思路是在未排序序列中找到最小元素,然后将其存放到序列的起始位置,然后再从剩余未排序的序列中继续寻找最小元素,存放到已排序序列的末尾。以此类推,直到全部元素均排序完成。 排序过程 以从小到大排序为例,选择排序的一次过程如下: 从待排序的序列中,找到关键字…

    Java 2023年5月19日
    00
  • MyBatis简介与配置MyBatis+Spring+MySql的方法

    MyBatis简介 MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,通过XML或注解将Java对象和SQL语句进行映射,使得开发者可以通过简单的配置和少量代码来进行复杂的数据库操作。 配置MyBatis+Spring+MySQL 步骤一:创建Maven项目 首先,创建一个基于Maven的Java项目,命名为mybatis-demo。…

    Java 2023年5月20日
    00
  • Java线程安全问题的解决方案

    Java中线程安全问题是一个很常见的问题。当多个线程并发访问相同的代码块或共享的内存时,就可能会出现线程安全问题。这种问题可能会导致程序崩溃或者输出的结果错误。为了解决线程安全问题,我们需要采取一些特殊的措施来保证程序的正确性。本文将介绍一些常见的Java线程安全问题的解决方案。 使用同步机制 在Java中,可以使用synchronized关键字来保证代码块…

    Java 2023年5月19日
    00
  • Sprint Boot @Min使用方法详解

    @Min是Spring Boot中的一个注解,用于标记一个字段或方法参数的值必须大于或等于指定的最小值。在本文中,我们将详细介绍@Min注解的作用和使用方法,并提供两个示例。 @Min注解的作用 @Min注解用于标记一个字段或方法参数的值必须大于或等于指定的最小值。当使用@Min注解标记一个字段或方法参数时,如果该字段或方法参数的值小于指定的最小值,则会抛出…

    Java 2023年5月5日
    00
  • SpringDataJpa:JpaRepository增删改查操作

    针对“SpringDataJpa:JpaRepository增删改查操作”的完整攻略,我将分步骤进行讲解,并且提供两个具体的示例供参考。 1. 引入依赖 使用SpringDataJpa需要引入spring-boot-starter-data-jpa依赖: <dependency> <groupId>org.springframewor…

    Java 2023年5月20日
    00
  • Java文件上传与文件下载实现方法详解

    下面将详细讲解Java文件上传与文件下载实现方法详解,分为以下几个方面: 文件上传 文件上传通常需要以下几个步骤: 创建一个表单,允许用户选择要上传的文件; 通过后端编写的处理程序处理上传的文件; 将文件保存到服务器的指定位置。 下面使用Spring Boot框架和Thymeleaf模板实现文件上传。 首先,在Spring Boot中,我们需要添加Multi…

    Java 2023年5月20日
    00
  • maven-compiler-plugin版本指定方式

    当我们在使用Maven构建Java项目时,通常需要编译Java源代码。而编译Java源代码需要用到maven-compiler-plugin插件。本篇攻略将详细讲解如何指定maven-compiler-plugin的版本。 步骤一:在pom.xml文件中添加maven-compiler-plugin的配置信息 在pom.xml文件中,我们可以通过<bu…

    Java 2023年5月19日
    00
  • java基础之方法详解

    下面我将详细讲解“Java基础之方法详解”的完整攻略。 方法基础 在Java语言中,方法是一段可调用的独立代码块,用于完成特定的功能逻辑。在完整的Java程序中,每个方法都被封装在一个类中,方法被定义为类的成员变量。 方法的定义格式如下: [访问修饰符] [返回值类型] 方法名([参数列表]) { // 方法体 [return 返回值;] } 其中,访问修饰…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部