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

相关推荐
Foreer黑爷2 分钟前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
南宫萧幕2 分钟前
从YALMIP工具箱到车辆工况仿真:MATLAB控制策略开发的完整实践指南
开发语言·人工智能·matlab·simulink
泰迪智能科技013 分钟前
图书教材推荐|Python网络爬虫技术(第2版)(微课版)
开发语言·爬虫·python
身如柳絮随风扬4 分钟前
深入理解 Sentinel:服务雪崩、熔断原理、使用实践与规则持久化
java·微服务·sentinel
dgvri5 分钟前
Spring Boot接收参数的19种方式
java·spring boot·后端
组合缺一6 分钟前
SolonCode CLI 为什么选择 Java 技术栈?
java·开发语言
rOuN STAT6 分钟前
Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
java·spring boot·后端
阿巴斯甜16 分钟前
BinaryOperator的使用:
java
计算机安禾16 分钟前
【Linux从入门到精通】第10篇:软件包管理——Linux如何安装与卸载软件
java·linux·运维·服务器·编辑器
熊猫钓鱼>_>18 分钟前
GenUI:从“文本对话”到“可操作界面”的范式转移
开发语言·人工智能·agent·sdk·vibecoding·assistant·genui