目录栏

Java基础

September 25, 2024 | Study

Java 的入口方法

Java 的入口方法是 main 方法。main 方法是所有 Java 程序的入口方法。 当你运行一个 Java 程序时,JVM(Java 虚拟机)会寻找这个方法作为程序的起始点。main 方法的定义如下:

public static void main(String[] args) {
    // 代码块
}

类(Class)

包(Package)下有Class文件(.java文件),类是与之同名的,对外公开的(Public)的模版或蓝图。

类的属性

类的属性是字段(Field),也就是类中定义的变量,用来表示该类的对象所具有的特征或状态。

public class Car {
    // 类的属性(字段)
    public String brand;   // 品牌
    public String color;   // 颜色
    public int speed;      // 速度
} 

字段(Field)

字段就是类的属性。字段声明指的是在类中定义这些变量的过程。字段声明的基本语法如下:

[访问修饰符] [数据类型] [字段名] [= 初始值];
public int age;
private String name = "John";

在上面的例子中,age 和 name 是两个字段。

类的成员

类的成员是类的组成部分,主要包括成员变量和成员方法两大类

其中成员变量=类的属性=字段

静态成员

1.类的成员(非静态成员)

属于对象:类的成员变量和方法属于类的每个对象。当创建一个类的对象时,每个对象都有自己独立的成员变量副本。

对象级别:类的成员在每个对象中独立存在。也就是说,不同对象可以拥有不同的成员变量值。

通过对象访问:必须通过对象来访问非静态成员,不能通过类直接访问。

public class Car {
    public String brand;   // 类的成员变量
    public int speed;      // 类的成员变量

    public void accelerate() {   // 类的成员方法
        speed += 10;
    }
}

2.静态成员

属于类:静态成员变量和方法属于类本身,而不是类的具体对象。所有对象共享同一个静态成员。

类级别:静态成员在类加载时初始化,并且在整个程序运行期间存在,它们不会因为对象的创建或销毁而发生变化。

通过类访问:静态成员可以通过类名直接访问,而无需创建对象。当然,也可以通过对象访问,但这不是最佳实践。

public class Car {
    public static int numberOfCars = 0;  // 静态变量

    public Car() {
        numberOfCars++;  // 每创建一个新对象,静态变量自增
    }

    public static void displayCarCount() {  // 静态方法
        System.out.println("Total cars: " + numberOfCars);
    }
}

在这个例子中,numberOfCars 是一个静态变量,用来统计所有 Car 对象的数量,而 displayCarCount() 是一个静态方法,可以显示汽车总数。

Car car1 = new Car();
Car car2 = new Car();
Car.displayCarCount();  // 通过类名访问静态方法,输出:Total cars: 2

对象(Object)

对象是类的实例

// 创建两个 Car 对象
   Car car1 = new Car("Toyota");  
// 对象1的属性
   Car car2 = new Car("Honda");  
// 对象2的属性

声明对象

声明对象的过程包括两步

1. 声明对象的引用:声明一个变量,用来保存对象的引用(类似于指向对象的指针)。

2. 创建对象:使用 new 关键字调用类的构造方法,分配内存并初始化对象。

Car myCar;            
// 1. 声明对象的引用,myCar 是 Car 类的一个引用
myCar = new Car();     
//2. 创建对象,使用 new 关键字分配内存并初始化对象

可以将上面的两步简化为一步:

Car myCar = new Car(); 
// 声明并创建对象

在这里:

Car是类名

myCar是对象名

new Car()是创建 Car 类的新对象,并调用其构造方法。

类与对象的关系

如果没有类,对象不会存在。类是对象的模版和蓝图,对象必须基于一个具体的类。类是抽象的概念,而对象是类的具体实例。

类的成员和对象的关系

类的成员(属性和方法)在类内定义,而实例化对象是没有限制的。

实例1.在其他类中创建对象(常见做法)

public class Main {
    public static void main(String[] args) {
        Car car1 = new Car();  // 在 Main 类中创建 Car 类的对象
        car1.brand = "Toyota";
        car1.accelerate();
    }
}

实例2.在同一类中创建对象

public class Car {
    public String brand;
    public int speed;

    // 构造方法
    public Car createAnotherCar() {
        return new Car();  // 在 Car 类的成员方法中创建对象
    }
}