【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 的方法,它们的参数列表分别是不同的。这就是方法重载的体现。

相关推荐
江南十四行20 小时前
Python上下文管理器与with语句——资源管理的艺术
java·jvm·数据库
书源丶20 小时前
四十五、函数式接口与 Lambda 表达式
java·开发语言
直奔標竿20 小时前
MySQL与Redis数据一致性实战方案(避坑指南)
java·数据库·spring boot·redis·mysql·spring·缓存
java1234_小锋20 小时前
Java进程突然挂了如何排查?
java·开发语言
夕除20 小时前
spring boot--04
java·spring boot
java小白小20 小时前
Guava Cache 本地缓存
java
梦梦代码精21 小时前
LikeShop 二次开发扩展能力白皮书——面向业务增长的可扩展电商架构实践
java·架构·github
极客先躯21 小时前
高级java每日一道面试题-2025年12月05日-实战篇[Dockerj]-Docker 安装后的默认存储路径是什么?如何修改?
java·docker·默认存储路径在不同系统上的区别·linux overlay2·修改存储路径的理论方法·修改流程中的关键理论点
祁_z21 小时前
LangSmith 实操指南「Agent 可观测性系统」
java·服务器
小雅痞21 小时前
[Java][Leetcode hard] 76. 最小覆盖子串
java·算法·leetcode