java笔记3

6.类与对象

面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。对象可以包含数据和代码,它们是现实世界中某些事物的抽象。

面向对象与面向过程

  • 面向过程编程:关注于动作和步骤,将程序分解为一系列的过程或函数。
  • 面向对象编程:关注于数据和对象,将程序构建为交互的对象集合。

类和对象的概念

什么是类

  • 类是现实世界中某些具有相同属性和行为的事物的蓝图或模板。

什么是对象

  • 对象是类的实例,它具有状态(数据)和行为(方法)。

成员变量

  • 类中的变量称为成员变量,它们保存对象的状态。

成员方法

  • 类中的方法定义了对象的行为。

对象的实例化

  • 创建对象的过程称为实例化。

构造器

  • 构造器是类的特殊的成员方法,用于初始化新创建的对象。

默认构造器(无参)

  • 如果没有定义任何构造器,编译器会自动提供一个无参构造器。
  • 如果写了构造器,就无法用默认无参,除非自己再写一个无参构造器。

有参构造器

  • 允许在创建对象时初始化对象的属性。

构造器重组

  • 在构造器中调用另一个构造器来减少代码重复。

对象的使用

  • 创建对象后,可以使用点号(.)访问其成员变量和方法。

对象的销毁

  • Java没有提供显式销毁对象的机制,但对象会变得不可访问。

GC垃圾回收站

  • Java的垃圾回收器(GC)会自动回收不再使用的对象所占用的内存。
  • GC不可以回收系统资源。
  • 可以调用,但不能强制。System.GC()

匿名对象

  • 匿名对象是没有名称的对象,通常用于使用一次的方法或构造器。

示例代码

// 定义一个类
class Car {
    // 成员变量
    String color;
    int speed;

    // 默认构造器
    Car() {
        System.out.println("Car created with default constructor");
    }

    // 有参构造器
    Car(String color, int speed) {
        this.color = color;
        this.speed = speed;
        System.out.println("Car created with parameterized constructor");
    }

    // 成员方法
    void start() {
        System.out.println("Car is starting");
    }

    // 构造器重组的示例
    Car(int speed) {
        this("Red", speed); // 调用有参构造器
    }
}

// 使用类
public class Main {
    public static void main(String[] args) {
        // 对象实例化
        Car myCar = new Car(); // 使用默认构造器
        myCar.start();

        // 使用有参构造器实例化
        Car yourCar = new Car("Blue", 60);
        yourCar.start();

        // 匿名对象的使用
        new Car("Green", 80) {
            void start() {
                System.out.println("Custom Car is starting");
            }
        }.start();
    }
}

posted @ 2024-08-02 09:23  cj睡不醒  阅读(26)  评论(0)    收藏  举报