-
属性用于描述对象的状态,通常以变量的形式存在。
-
方法定义了对象的行为,可以执行特定的操作或计算。
-
构造方法用于初始化对象,可以根据需要重载以支持不同的初始化方式。
1. 属性(字段)
属性是类的状态或特征,通常用变量表示。属性可以是基本数据类型(如int
、String
等)或对象类型。
示例 1:定义一个简单的类
// 定义一个简单的类 Person
public class Person {// 属性(字段)String name; // 姓名int age; // 年龄String gender; // 性别// 方法:显示个人信息public void displayInfo() {System.out.println("Name: " + name);System.out.println("Age: " + age);System.out.println("Gender: " + gender);}
}// 主类,用于测试 Person 类
public class Main {public static void main(String[] args) {// 创建 Person 类的对象Person person = new Person();// 设置属性值person.name = "Alice";person.age = 30;person.gender = "Female";// 调用方法显示个人信息person.displayInfo();}
}
代码解释:
-
类的声明:
public class Person
定义了一个名为Person
的类。 -
属性:
String name
、int age
和String gender
是Person
类的属性,分别表示姓名、年龄和性别。 -
方法:
public void displayInfo()
是一个方法,用于输出个人信息。 -
对象创建:在
Main
类的main
方法中,使用new Person()
创建了一个Person
对象,并设置其属性值,最后调用displayInfo
方法显示信息。
2. 方法
方法是定义类的行为或功能。方法可以接收参数并返回值,也可以不接收参数或不返回值。
示例 2:添加方法
public class Calculator {// 方法:加法public int add(int a, int b) {return a + b; // 返回两个数的和}// 方法:减法public int subtract(int a, int b) {return a - b; // 返回两个数的差}// 方法:乘法public int multiply(int a, int b) {return a * b; // 返回两个数的积}// 方法:除法public double divide(int a, int b) {if (b != 0) {return (double) a / b; // 返回两个数的商} else {System.out.println("Cannot divide by zero.");return 0; // 返回0,表示无法除以零}}
}// 主类,用于测试 Calculator 类
public class Main {public static void main(String[] args) {Calculator calc = new Calculator();// 调用方法进行计算System.out.println("Addition: " + calc.add(5, 10)); // 输出:15System.out.println("Subtraction: " + calc.subtract(10, 5)); // 输出:5System.out.println("Multiplication: " + calc.multiply(4, 5)); // 输出:20System.out.println("Division: " + calc.divide(10, 2)); // 输出:5.0calc.divide(10, 0); // 测试除以零}
}
代码解释:
-
方法定义:
public int add(int a, int b)
定义了一个加法方法,接收两个整数参数并返回它们的和。 -
其他方法:
subtract
、multiply
和divide
方法分别实现了减法、乘法和除法的功能。 -
除法方法的特殊处理:在
divide
方法中,添加了对除以零的检查,避免了运行时错误。 -
对象创建和方法调用:在
Main
类中,创建Calculator
对象并调用各种计算方法,输出结果。
3. 构造方法
构造方法是用于初始化对象的特殊方法。构造方法的名称与类名相同,并且没有返回值。构造方法可以重载,以便根据不同的参数初始化对象。
示例 3:构造方法的使用
public class Book {// 属性(字段)String title; // 书名String author; // 作者double price; // 价格// 构造方法:无参数public Book() {title = "Unknown Title"; // 默认书名author = "Unknown Author"; // 默认作者price = 0.0; // 默认价格}// 构造方法:带参数public Book(String title, String author, double price) {this.title = title; // 使用参数初始化属性this.author = author;this.price = price;}// 方法:显示书籍信息public void displayInfo() {System.out.println("Title: " + title);System.out.println("Author: " + author);System.out.println("Price: $" + price);}
}// 主类,用于测试 Book 类
public class Main {public static void main(String[] args) {// 使用无参数构造方法创建对象Book book1 = new Book();book1.displayInfo(); // 输出默认信息// 使用带参数构造方法创建对象Book book2 = new Book("Effective Java", "Joshua Bloch", 45.0);book2.displayInfo(); // 输出书籍信息}
}
代码解释:
-
构造方法:
public Book()
是无参数构造方法,用于初始化书籍的默认信息。public Book(String title, String author, double price)
是带参数构造方法,用于根据提供的参数初始化书籍的信息。 -
属性初始化:在构造方法中使用
this
关键字来区分类的属性和构造方法的参数。 -
对象创建:在
Main
类中,分别使用无参数和带参数的构造方法创建Book
对象,并调用displayInfo
方法显示书籍信息。