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