静态方法
通过前面的学习已经知道,如果想要使用类中的成员方法,就需要先将这个类实例化,而在实际开发时,开发人员有时会希望在不创建对象的情况下就可以调用某个方法,这种情况就可以使用静态方法。
静态方法的定义十分简单,只需要在类中定义的方法前加上static关键字即可。在使用时,静态方法可以通过如下两种方式来访问:
类名.方法
或
实例对象名.方法
了解了静态方法的定义和访问方式后,接下来通过一个案例来学习静态方法的使用,如文件1所示。
文件1 Example13.java
1 class Person {
2 public static void say() { // 定义静态方法
3 System.out.println("Hello!");
4 }
5 }
6 public class Example13 {
7 public static void main(String[] args) {
8 // “类名.方法”的方式调用静态方法
9 Person.say();
10 // 实例化对象
11 Person person = new Person();
12 // “实例对象名.方法”的方式来调用静态方法
13 person.say();
14 }
15 }
运行结果如图1所示。
图1 运行结果
在文件1中,首先在Person类中定义了静态方法say(),然后在main()方法中分别使用了两种方式来调用静态方法。在第9行代码处通过“Person.say()”的形式调用了静态方法,由此可见静态方法不需要创建对象就可以直接通过类名调用。在第13行代码处通过实例化对象的方式来调用静态方法,这说明通过实例化的对象的方式,同样可以调用静态方法。
注意:
在一个静态方法中只能访问用static修饰的成员,原因在于没有被static修饰的成员需要先创建对象才能访问,而静态方法在被调用时可以不创建任何对象。