Java 语言 面向对象编程入门 类与对象 封装继承多态实战教程

Java阿木 发布于 2025-06-25 9 次阅读


Java 面向对象编程入门:类与对象、封装继承多态实战教程

Java 作为一门广泛应用于企业级应用开发的语言,其核心特性之一就是面向对象编程(OOP)。面向对象编程通过类和对象的概念,实现了代码的模块化、重用性和扩展性。本文将围绕 Java 面向对象编程的入门知识,详细介绍类与对象、封装、继承和多态等核心概念,并通过实战案例加深理解。

类与对象

类的定义

在 Java 中,类是对象的蓝图,它定义了对象具有的属性(变量)和方法(函数)。以下是一个简单的类定义示例:

java

public class Person {


// 属性


private String name;


private int age;

// 构造方法


public Person(String name, int age) {


this.name = name;


this.age = age;


}

// 方法


public void sayHello() {


System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");


}


}


对象的创建与使用

对象是类的实例,可以通过使用 `new` 关键字来创建。以下是如何创建 `Person` 类的一个对象并使用它的方法:

java

public class Main {


public static void main(String[] args) {


// 创建 Person 对象


Person person = new Person("Alice", 30);

// 使用对象的方法


person.sayHello();


}


}


封装

封装是面向对象编程的一个重要特性,它将对象的属性隐藏起来,只通过公共接口(方法)来访问和修改。在 Java 中,使用 `private` 关键字可以声明一个属性为私有,从而实现封装。

私有属性与公共方法

以下是如何在 `Person` 类中实现封装:

java

public class Person {


// 私有属性


private String name;


private int age;

// 构造方法


public Person(String name, int age) {


this.name = name;


this.age = age;


}

// 公共方法,用于获取姓名


public String getName() {


return name;


}

// 公共方法,用于获取年龄


public int getAge() {


return age;


}

// 公共方法,用于设置年龄


public void setAge(int age) {


this.age = age;


}

// 方法


public void sayHello() {


System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");


}


}


实战案例:改进的 Person 类

java

public class Main {


public static void main(String[] args) {


// 创建 Person 对象


Person person = new Person("Alice", 30);

// 使用公共方法访问属性


System.out.println("Name: " + person.getName());


System.out.println("Age: " + person.getAge());

// 使用公共方法修改属性


person.setAge(31);


System.out.println("Updated Age: " + person.getAge());


}


}


继承

继承是面向对象编程的另一个核心特性,它允许一个类继承另一个类的属性和方法。在 Java 中,使用 `extends` 关键字来声明一个子类继承自一个父类。

父类与子类

以下是一个简单的继承示例:

java

public class Animal {


// 父类属性


protected String type;

// 父类构造方法


public Animal(String type) {


this.type = type;


}

// 父类方法


public void makeSound() {


System.out.println("Some sound...");


}


}

public class Dog extends Animal {


// 子类属性


private String breed;

// 子类构造方法


public Dog(String type, String breed) {


super(type);


this.breed = breed;


}

// 子类方法


@Override


public void makeSound() {


System.out.println("Woof! Woof!");


}


}


实战案例:使用继承

java

public class Main {


public static void main(String[] args) {


// 创建 Dog 对象


Dog dog = new Dog("Mammal", "Labrador");

// 使用父类方法


dog.makeSound();

// 使用子类方法


System.out.println("Dog Breed: " + dog.breed);


}


}


多态

多态是面向对象编程的另一个重要特性,它允许同一个方法在不同的对象上有不同的行为。在 Java 中,多态通常通过方法重写(`@Override` 注解)来实现。

方法重写

以下是一个方法重写的示例:

java

public class Animal {


// 父类方法


public void makeSound() {


System.out.println("Some sound...");


}


}

public class Dog extends Animal {


// 子类方法重写


@Override


public void makeSound() {


System.out.println("Woof! Woof!");


}


}

public class Cat extends Animal {


// 子类方法重写


@Override


public void makeSound() {


System.out.println("Meow! Meow!");


}


}


实战案例:多态的使用

java

public class Main {


public static void main(String[] args) {


// 创建 Animal 对象数组


Animal[] animals = new Animal[2];


animals[0] = new Dog("Mammal", "Labrador");


animals[1] = new Cat("Mammal", "Persian");

// 使用多态调用方法


for (Animal animal : animals) {


animal.makeSound();


}


}


}


总结

本文通过介绍 Java 面向对象编程的入门知识,详细讲解了类与对象、封装、继承和多态等核心概念。通过实战案例,读者可以更好地理解这些概念在实际编程中的应用。希望本文能帮助读者在 Java 面向对象编程的道路上迈出坚实的步伐。