【JAVA】Java基础—面向对象编程:类与对象-类的结构(属性、方法、构造方法)

Java类的属性、方法与构造方法
  1. 属性用于描述对象的状态,通常以变量的形式存在。

  2. 方法定义了对象的行为,可以执行特定的操作或计算。

  3. 构造方法用于初始化对象,可以根据需要重载以支持不同的初始化方式。

1. 属性(字段)

属性是类的状态或特征,通常用变量表示。属性可以是基本数据类型(如intString等)或对象类型。

示例 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();
    }
}

代码解释

  1. 类的声明public class Person定义了一个名为Person的类。

  2. 属性String nameint ageString genderPerson类的属性,分别表示姓名、年龄和性别。

  3. 方法public void displayInfo()是一个方法,用于输出个人信息。

  4. 对象创建:在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)); // 输出:15
        System.out.println("Subtraction: " + calc.subtract(10, 5)); // 输出:5
        System.out.println("Multiplication: " + calc.multiply(4, 5)); // 输出:20
        System.out.println("Division: " + calc.divide(10, 2)); // 输出:5.0
        calc.divide(10, 0); // 测试除以零
    }
}

代码解释

  1. 方法定义public int add(int a, int b)定义了一个加法方法,接收两个整数参数并返回它们的和。

  2. 其他方法subtractmultiplydivide方法分别实现了减法、乘法和除法的功能。

  3. 除法方法的特殊处理:在divide方法中,添加了对除以零的检查,避免了运行时错误。

  4. 对象创建和方法调用:在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(); // 输出书籍信息
    }
}

代码解释

  1. 构造方法public Book()是无参数构造方法,用于初始化书籍的默认信息。public Book(String title, String author, double price)是带参数构造方法,用于根据提供的参数初始化书籍的信息。

  2. 属性初始化:在构造方法中使用this关键字来区分类的属性和构造方法的参数。

  3. 对象创建:在Main类中,分别使用无参数和带参数的构造方法创建Book对象,并调用displayInfo方法显示书籍信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值