java在定义函数时public static void与public void的区别,并写出示例代码展示其区别
时间: 2024-09-13 09:14:19 浏览: 41
在Java中,函数(或称方法)定义时的`public static void`与`public void`之间的区别主要与方法的类型和调用方式有关:
1. `public static void`:
- `public`表示方法可以被任何对象访问。
- `static`表示方法是静态的,可以直接通过类名调用,而不需要创建类的实例。
- `void`表示方法不返回任何值。
2. `public void`:
- `public`同样表示方法可以被任何对象访问。
- `void`表示方法不返回任何值。
- 没有`static`关键字,意味着这个方法是实例方法,需要通过类的实例来调用。
下面通过示例代码展示这两种方法定义的区别:
```java
// 类定义
public class MyClass {
// 静态方法,可以直接通过类名调用
public static void staticMethod() {
System.out.println("这是一个静态方法,可以通过类名调用:MyClass.staticMethod()");
}
// 实例方法,需要通过创建对象来调用
public void instanceMethod() {
System.out.println("这是一个实例方法,需要通过对象调用:myObject.instanceMethod()");
}
}
public class TestClass {
public static void main(String[] args) {
// 直接调用静态方法
MyClass.staticMethod();
// 创建MyClass类的实例
MyClass myObject = new MyClass();
// 通过实例调用实例方法
myObject.instanceMethod();
}
}
```
上述代码中,`MyClass`类有两个方法:`staticMethod`是一个静态方法,可以直接通过类名`MyClass.staticMethod()`来调用;`instanceMethod`是一个实例方法,需要通过创建`MyClass`类的对象`myObject`来调用,即`myObject.instanceMethod()`。
阅读全文