Java 类方法

Java类方法

Java 方法一章介绍过,方法是在类中声明的,用于执行某些操作:

示例

MyClass中创建一个名为myMethod()的方法:

public class MyClass {
  static void myMethod() {
    System.out.println("Hello World!");
  }
}

myMethod()在调用时打印文本(执行操作)。要调用一个方法,方法名后跟圆括号()和分号;

示例

main内部,调用myMethod()方法:

public class MyClass {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// 输出 "Hello World!"

Static 或 Public

Java程序中,经常会看到带Static/静态或Public/公共修饰符的属性和方法。

上面的例子,创建了一个static(静态)方法,即使没有创建对象也能访问,而public只能在创建对象后访问:

示例

举例说明静态方法和公共方法之间的区别:

public class MyClass {
  // Static method
  static void myStaticMethod() {
    System.out.println("调用静态方法无需创建对象");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("调用公共方法需创建对象");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // 调用静态方法
    // myPublicMethod(); 编译报错

    MyClass myObj = new MyClass(); // 创建MyClass的对象
    myObj.myPublicMethod(); // 调用对象的公共方法
  }
}

使用对象访问方法

示例

创建Car类的一个对象myCar,调用myCar对象的fullThrottle()speed()方法:

// 创建Car类
public class Car {

  // 创建fullThrottle()方法
  public void fullThrottle() {
    System.out.println("汽车全速前进!");
  }

  // 创建一个speed()方法并添加一个参数
  public void speed(int maxSpeed) {
    System.out.println("最快速度: " + maxSpeed);
  }

  // 在main方法里,调用myCar对象的方法
  public static void main(String[] args) {
    Car myCar = new Car();     // 创建一个myCar对象
    myCar.fullThrottle();      // 调用fullThrottle()方法
    myCar.speed(200);          // 调用speed()方法
  }
}

// 汽车全速前进!
// 最快速度: 200
  • 我们用class关键字创建了Car类。
  • Car类中创建了fullThrottle()speed()方法。
  • fullThrottle()方法和speed()方法在调用时会打印文本。
  • speed()方法接受一个名为maxSpeed的int参数。
  • 为了使用Car类及其方法,需要创建Car类的一个对象。
  • 转到main()方法,这是一个内置的Java方法,是Java程序的运行入口(main中的任何代码都会被执行)。
  • 使用new关键字,创建Car类的一个对象,名为myCar
  • 调用myCar对象的fullThrottle()speed()方法,运行程序;。注意,在speed()方法中添加了一个int参数200。

使用多个类

Java 类、对象章节中介绍过,创建一个类的对象,在另一个类的对象中使用它,是一个很好的实践。

记住,java源文件名应该与类名匹配。在这个例子中,我们在同一个目录下创建了两个文件:

  • Car.java
  • OtherClass.java

Car.java

public class Car {
  public void fullThrottle() {
    System.out.println("汽车全速前进!");
  }

  public void speed(int maxSpeed) {
    System.out.println("最快速度: " + maxSpeed);
  }
}

OtherClass.java

class OtherClass {
  public static void main(String[] args) {
    Car myCar = new Car();     // 创建一个myCar对象
    myCar.fullThrottle();      // 调用fullThrottle()方法
    myCar.speed(200);          // 调用speed()方法
  }
}

编译这两个文件:

G:\project\qikegu-demo\java> javac -encoding utf-8 Car.java
G:\project\qikegu-demo\java> javac -encoding utf-8 OtherClass.java

运行OtherClass:

G:\project\qikegu-demo\java> java OtherClass

输出为:

汽车全速前进!
最快速度: 200


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载