第三章:Java 面向对象编程(OOP)基础 第一节 类与对象

1. 类的定义与成员变量

首先,我们来了解一下类的定义成员变量

  • 类的定义:类是Java中用于创建对象的模板,它包含了对象的属性和行为。我们可以通过以下语法定义一个类:

    public class Person {
        // 成员变量(属性)
        String name;
        int age;
    ​
        // 方法(行为)
        void speak() {
            System.out.println("Hello, my name is " + name);
        }
    }

    在这个例子中,我们定义了一个名为Person的类,它包含两个成员变量nameage,以及一个方法speak()

  • 成员变量:成员变量是类的属性,它们定义了类的状态。在上面的例子中,nameage就是Person类的成员变量。


2. 方法的定义与调用

接下来,我们来看看方法的定义调用

  • 方法的定义:方法是类中的行为,它用于执行特定的操作。我们可以通过以下语法来定义一个方法:

    void walk() {
        System.out.println(name + " is walking.");
    }

    这个walk方法会输出一个字符串,表示某人正在行走。

  • 方法的调用:要调用一个方法,我们需要首先创建一个对象,然后使用对象调用该方法。例如:

    Person p = new Person();
    p.name = "Alice";
    p.walk(); // 输出:Alice is walking.

    这里,我们创建了一个Person类的对象p,并通过它调用了walk方法。


3. 对象的创建与使用

接下来,我们来学习如何创建对象以及如何使用对象

  • 对象的创建:对象是类的实例,通过类可以创建多个对象。创建对象的语法如下:

    Person p1 = new Person();
    Person p2 = new Person();

    这里我们创建了两个Person类的对象p1p2

  • 对象的使用:创建对象后,我们可以对对象的成员变量进行赋值,并调用对象的方法。例如:

    p1.name = "Bob";
    p1.age = 25;
    p1.speak(); // 输出:Hello, my name is Bob

    这个代码为对象p1nameage赋值,然后调用speak方法输出一段话。


4. 构造方法与构造方法的重载

接下来,我们讨论构造方法构造方法的重载

  • 构造方法:构造方法是在创建对象时自动调用的方法,用于初始化对象。构造方法的名称必须与类名相同,且没有返回类型。以下是构造方法的例子:

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    这个构造方法在创建对象时将nameage进行初始化。

  • 构造方法的重载:Java允许我们定义多个构造方法,只要它们的参数列表不同。以下是一个重载构造方法的例子:

    public Person() {
        this.name = "Unknown";
        this.age = 0;
    }
    ​
    public Person(String name) {
        this.name = name;
        this.age = 0;
    }

    这里,我们定义了两个构造方法,一个不需要参数,一个只需要name参数。通过重载构造方法,我们可以为对象提供不同的初始化方式。


5. this关键字的用法

最后,我们来看看this关键字的用法。

  • this关键字this关键字用于引用当前对象的实例。它常用于解决成员变量与方法参数同名的情况。例如:

    public void setName(String name) {
        this.name = name;
    }

    在这个例子中,this.name表示当前对象的name成员变量,而name则是方法的参数。this关键字确保了正确的变量赋值。

  • this的其他用法this还可以用于调用类的其他构造方法或方法。例如:

    public Person(String name, int age) {
        this(name); // 调用另一个构造方法
        this.age = age;
    }

    这里,this(name)用于调用只有一个参数的构造方法,从而避免重复代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱掉发的小龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值