2. Defining and Using Classes
约 318 字大约 1 分钟
2025-04-16
静态方法和非静态方法
概念解释:
猴子 | 猴子 20 岁了 | 猴子偷玉米 |
---|---|---|
对于 OOP | 属性 | 方法 |
对于 Java | 实例变量 | 函数 |
建立以下 两个文件:
// static方法
public class Dog {
public static void makeNoise() {
System.out.println("Bark!");
}
}
public class DogLauncher {
public static void main(String[] args) {
Dog.makeNoise();
}
}
在这里,static
是静态的意思。被它修饰的方法,应该直接用类名调用;而没有 static 的方法,应该先实例化一个类(生成一个对象),用对象名来调用方法:
// 非静态方法,也被称为实例方法
public class Dog {
public void makeNoise() {
System.out.println("Bark!");
}
}
public class DogLauncher {
public static void main(String[] args) {
Dog xibei = new Dog; // 这里实例化出一个xibei对象,类型为Dog。
xibei.makeNoise(); // 这里通过对象名来调用方法。
}
}
总结:实例方法和实例变量需要实例化之后,通过对象名来使用;静态方法和静态变量可以直接使用类名来使用。
构造器(Constructors)
实例化一个对象的时候,需要进行一些初始化(例如一个婴儿出生,需要有姓名、性别、体重等信息)。为了初始化这个对象,我们需要写构造器。