首页 > 编程语言 >java笔记3

java笔记3

时间:2024-08-02 09:30:46浏览次数:13  
标签:java 对象 Car System 构造 start 笔记 speed

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();
    }
}

标签:java,对象,Car,System,构造,start,笔记,speed
From: https://www.cnblogs.com/cjsbx/p/18338002

相关文章

  • Java流程控制语句结构中的循环结构
    循环结构目录循环结构while循环do...while循环for循环如果您想要同样的操作执行多次,就需要使用循环结构。Java中有三种主要的循环结构:while循环do…while循环for循环while循环while是最基本的循环,它的结构为:while(布尔表达式){//循环内容}只要布尔表达式......
  • HTML基础笔记
    1.HTML语法规范1.1基本语法概述1.HTML标签是由尖括号包围的关键词,例如<html>2.HTML通常是成对出现的,叫做双标签,分别是开始标签,结束标签。<html></html>3。有些特殊的标签必须是单标签。<br/>1.2标签关系双标签关系可以分为两类:包含关系和并列关系。<html><head......
  • Java 抽象类
    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。......
  • 闵可夫斯基和 学习笔记
    闵可夫斯基和定义两个凸包\(A,B\)的闵可夫斯基和\(C=\{a+b\mida\inA,b\inB\}\)。就是从原点向其中一个凸包连出的向量,平移到另一个凸包上的每一个点,最后构成的图形即为两个凸包的闵可夫斯基和。其中的第一个图形可以看做被缩到了原点,\(C\)中右下角(这里是指先是\(y\)坐......
  • Java编译和运行的命令
    1.3Java编译和运行的命令目录1.3Java编译和运行的命令1.3.1Java编译和运行的基础概念1.3.2基本步骤1.编译Java代码2.运行编译后的代码1.3.3详细解释1.3.4常见问题1.3.5常用Java命令javacjavajar1.3.1Java编译和运行的基础概念源代码文件(.java):这是你写的Java代......
  • Java跨平台原理
    1.4Java跨平台原理由源文件(.java)--->字节码文件(.class)(二进制文件)----->解释---->Unix,Win,Linux等机器。一次编译,到处运行编译器的作用:将源文件编译成class文件虚拟机的作用:将字节码文件解释成对应平台机器码并执行。java可以实现跨所有的平台?只有提供并且......
  • August 1st, Java Study Notes,static&non-static method
    IfollowedthevideoandrecordedsomeofitMostoftheideasarealreadyinthecomments,andtoputitbluntly,theyarethetranslatedwordspublicclassdog{publicintweight;//dog没有一个固定的weight,所以我们不使用static定义weight//定......
  • [Java基础]Integer
    在Java中,Integer类会对一些数值进行缓存,这样可以节省内存并提高性能。当你使用Integer.valueOf(int)方法来创建Integer对象时,对于数值在-128到127之间的整数,Java会返回缓存中的对象实例。因此,对于这些范围内的整数,用Integer.valueOf创建的Integer对象实际上会引用同......
  • 《深入浅出WPF》学习笔记三.x命名空间以及常见属性
    《深入浅出WPF》学习笔记三.x命名空间以及常见属性X命名空间的由来和作用xaml:是eXtensibleApplicationMarkupLanguage的英文缩写(可扩展应用程序标记语言);声明       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"使用x:Class="WpfApp10.Main......
  • 基于JAVA的采购管理系统设计与实现
    点击下载源码基于JAVA的采购管理系统设计与实现摘要当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)之一。信息是管理的基础,是进行决策的基本依据。在一个组织里,信息己作为人力、物力、财力之外的第四种能源,......