【Java 基础】08 面向对象

面向对象是一种程序设计范式,它以对象为中心,将数据和操作数据的方法组织在一起。

Java 正是一门面向对象的编程语言,它的设计理念强调代码的重用性、可维护性和可扩展性。

本文将简要介绍Java面向对象编程的基本概念和特性。

1. 对象和类

面向对象编程中,对象是程序中的基本单元。对象可以是现实世界中的实体,也可以是抽象的概念。

Java 中的类是用来把一组属性和行为组装在一起,类通过关键字 class 来定义。

java 复制代码
// 定义一个简单的类
class Car {
    // 定义了两个属性
    String brand;
    int year;
    // 定义了一个行为
    void run() {
        System.out.println("The car is running...");
    }
}

上述代码定义了一个 Car 类,具有品牌和年份属性,以及启动方法。

2. 构造方法

构造方法是一种特殊类型的方法,用于在创建对象时初始化对象的成员变量。

构造方法的名称与类的名称相同,并且没有返回类型。

在对象创建时,构造方法会被自动调用,用于执行对象的初始化工作。

java 复制代码
public class ClassName {
    // 构造方法
    public ClassName() {
        // 构造方法的内容
    }
}

构造方法分为 无参构造 和 有参构造,上例就是无参构造因为没有参数

下面再来看看有参构造,即有参数

java 复制代码
public class Car {
    String brand;
    int year;

    // 有参构造方法
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
}

3.方法重载

方法重载是指在同一个类中可以定义多个同名的方法,但这些方法的参数列表必须不同(类型、顺序、数量)。

方法重载的目的是提高代码的灵活性,让同一个方法名可以根据不同的参数做不同的事情。

方法重载的规则:

  1. 方法名必须相同。

  2. 参数列表必须不同(类型、顺序、数量至少有一个不同)。

  3. 返回类型可以不同。

  4. 可以有不同的访问修饰符。

  5. 可以抛出不同的异常。

java 复制代码
public class Calculator {
    // 两个整数相加
    public int add(int a, int b) {
        return a + b;
    }

    // 三个整数相加
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    // 两个浮点数相加
    public double add(double a, double b) {
        return a + b;
    }
}

在这个例子中,Calculator 类包含了多个名为 add 的方法,它们的参数列表分别是不同的。这就是方法重载的体现。

相关推荐
不是光头 强2 分钟前
Spring Boot 多线程场景下 i18n 国际化失效问题排查与解决
java·开发语言·springboot
jieyucx2 分钟前
Go 语言核心关键字:defer 深度解析与实战避坑
开发语言·后端·golang·defer
星恒随风9 分钟前
四天学完前端基础三件套(JavaScript篇)
开发语言·前端·javascript·笔记
勿忘,瞬间21 分钟前
Spring IOC and DI
java·spring
小坏讲微服务24 分钟前
SpringBoot4.0整合Spring Security+MyBatis Plus完整权限框架实现
java·spring·mybatis·spring security·mybatis plus·springboot4.0
杜子不疼.35 分钟前
【 C++ AI 大模型接入 SDK】 - 日志模块
开发语言·javascript·c++
谙弆悕博士1 小时前
【附C源码】二叉搜索树的C语言实现
c语言·开发语言·数据结构·算法·二叉树·项目实战·数据结构与算法
C+++Python1 小时前
C++ 泛型编程 极简示例代码
开发语言·c++
Rust研习社1 小时前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
宵时待雨1 小时前
回溯算法专题2:二叉树中的深搜
开发语言·数据结构·c++·笔记·算法·深度优先