多态?
假设我们有一个Animal类,其中包含一个makeSound()方法。现在我们可以创建多个子类,如Dog和Cat,它们可以继承Animal类并覆盖makeSound()方法,以产生不同的声音。
public class Animal { public void makeSound() { System.out.println("Animal is making a sound"); } } public class Dog extends Animal { public void makeSound() { System.out.println("Dog is barking"); } } public class Cat extends Animal { public void makeSound() { System.out.println("Cat is meowing"); } }
static的作用
在 Java 中,static 是一个关键字,用于修饰类的成员变量和成员方法。static 成员被称为静态成员,它具有以下特点:
-
静态成员属于类,而不是属于类的实例对象。也就是说,不需要创建类的实例对象,就可以直接使用静态成员。
-
静态成员可以被类的所有实例对象共享,而不是每个实例对象都拥有一份自己的成员。因此,修改静态成员会影响到所有使用该静态成员的对象。
静态成员的使用场景包括:
-
记录所有实例共享的状态。例如,在一个多线程的程序中,可以使用静态成员来记录所有实例共享的计数器。
-
为了提高性能,避免重复计算。例如,在一个数学类中,可以使用静态成员保存一些常用的数值,避免每次计算都重新生成。
-
将方法和数据进行组织和分类。例如,在一个工具类中,可以使用静态方法来提供一些常用的工具方法,而不需要创建该工具类的实例对象。
举个例子来说明,假设有一个 Car 类,它有一个静态成员变量 count,记录了所有 Car 对象的数量。当创建 Car 对象时,可以在构造函数中增加 count 的值,以统计所有对象的数量:
public class Car { private static int count = 0; private String brand; public Car(String brand) { this.brand = brand; count++; } public static int getCount() { return count; } }
这样,就可以在不需要创建 Car 对象的情况下,通过 Car.getCount() 方法来获取所有 Car 对象的数量。
标签:Java,静态,Car,成员,基础,对象,Animal,public From: https://www.cnblogs.com/blessings/p/17152934.html