简单了解JAVA构造方法
什么是构造方法
Java中每个类都有构造方法,构造方法是用来初始化对象的方法,即在使用new操作符创建对象时调用的一种特殊方法。构造方法与类名相同,无需返回类型,且不能被重载。
构造方法的特点
- 构造方法名要与类名相同,且区分大小写;
- 构造方法没有返回值类型;
- 构造方法没有具体的返回值,但需要使用return语句结束构造方法;
- 构造方法可以被重载,即有多个构造方法。
构造方法的格式
[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技术站