0
点赞
收藏
分享

微信扫一扫

2.1. 类与对象

在 Java 中,类和对象是面向对象编程的基本构建块。类是一种模板,用于定义对象的属性和行为。对象是类的实例,具有类定义的属性和行为。

2.1.1. 类的定义

要定义一个类,可以使用以下语法:

class ClassName {
// 成员变量(属性)
// 成员方法(行为)
}

类的名称应遵循驼峰命名法,首字母大写。类可以包含成员变量(属性)和成员方法(行为)。

示例1:定义一个简单的类

class Dog {
// 成员变量
String breed;
int age;
String color;

// 成员方法
void bark() {
System.out.println(Woof!);
}

void sleep() {
System.out.println(Zzz...);
}

void play() {
System.out.println(Playing...);
}
}

上述示例中,定义了一个名为 Dog 的类,包含三个成员变量(breedage 和 color)和三个成员方法(bark()sleep() 和 play())。

2.1.2. 创建和使用对象

创建一个对象,需要使用 new 关键字和构造方法。构造方法是一种特殊的成员方法,用于初始化对象的属性。构造方法的名称与类名相同,没有返回类型。

ClassName objectName = new ClassName();

要访问对象的属性和方法,可以使用点(.)操作符。

objectName.property;
objectName.method();

示例2:创建和使用对象

class Main {
public static void main(String[] args) {
// 创建 Dog 对象
Dog myDog = new Dog();

// 设置属性值
myDog.breed = Golden Retriever;
myDog.age = 3;
myDog.color = Yellow;

// 调用方法
myDog.bark();
myDog.sleep();
myDog.play();

System.out.println(My dog is a + myDog.breed + and its color is + myDog.color + .);
}
}

2.1.3. 构造方法和 this 关键字

构造方法用于初始化对象。可以为类定义多个构造方法,它们具有不同的参数列表。这称为构造方法重载。

this 关键字用于引用当前对象。在构造方法中,可以使用 this 关键字区分参数和成员变量。

示例3:构造方法和 this 关键字

class Dog {
// 成员变量
String breed;
int age;
String color;

// 构造方法
Dog(String breed, int age, String color) {
this.breed = breed;
this.age = age;
this.color = color;
}

// 成员方法
void bark() {
System.out.println(Woof!);
}

void sleep() {
System.out.println(Zzz...);
}

void play() {
System.out.println(Playing...);
}
}

class Main {
public static void main(String[] args) {
// 使用构造方法创建 Dog 对象
Dog myDog = new Dog(Golden Retriever, 3, Yellow);

// 调用方法
myDog.bark();
myDog.sleep();
myDog.play();

System.out.println(My dog is a + myDog.breed + and its color is + myDog.color + .);
}
}

2.1.4. 封装

封装是一种将数据和操作数据的方法捆绑在一起的技术。为了实现封装,可以使用访问修饰符限制对类成员的访问。Java 提供了四种访问修饰符:publicprotectedprivate 和默认(无修饰符)。

通常,类的成员变量设置为 private,并通过公共的 getter 和 setter 方法访问和修改它们。

示例4:封装

    // 私有成员变量
private String breed;
private int age;
private String color;

// 构造方法
Dog(String breed, int age, String color) {
this.breed = breed;
this.age = age;
this.color = color;
}

// 公共 getter 和 setter 方法
public String getBreed() {
return breed;
}

public void setBreed(String breed) {
this.breed = breed;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

// 成员方法
void bark() {
System.out.println(Woof!);
}

void sleep() {
System.out.println(Zzz...);
}

void play() {
System.out.println(Playing...);
}
}

class Main {
public static void main(String[] args) {
// 使用构造方法创建 Dog 对象
Dog myDog = new Dog(Golden Retriever, 3, Yellow);

// 使用 setter 方法设置属性
myDog.setBreed(Labrador);
myDog.setAge(4);
myDog.setColor(Black);

// 使用 getter 方法获取属性
System.out.println(My dog is a + myDog.getBreed() + and its color is + myDog.getColor() + .);

// 调用方法
myDog.bark();
myDog.sleep();
myDog.play();
}
}

通过这些示例,你应该对类和对象有了基本的了解。当然,类和对象在实际编程中的应用远比这里介绍的更复杂。但是,这些基本概念和操作是你开始学习和掌握面向对象编程的基础。

file

举报

相关推荐

0 条评论