是否可以从一个static 方法内部发出对非 static 方法的调用?
时间: 2024-05-11 07:17:24 浏览: 11
在Java中,static方法是属于类的而非对象的,因此它不能直接调用非静态的实例方法。如果想要在static方法内部调用非静态方法,必须先创建一个类的实例对象,然后通过该对象来调用非静态方法。例如:
```
public class MyClass {
public static void staticMethod() {
MyClass myClass = new MyClass();
myClass.nonStaticMethod();
}
public void nonStaticMethod() {
// do something
}
}
```
在上述代码中,我们创建了一个MyClass的实例对象myClass,并通过该对象来调用非静态方法nonStaticMethod()。
相关问题
是否可以从一个static方法内部发出对非static方法的调用
可以,但需要通过创建对象来调用非静态方法。因为静态方法是属于类的,不依赖于对象的存在,而非静态方法是属于对象的,需要通过对象来调用。因此,在静态方法内部调用非静态方法时,需要先创建对象,然后通过对象来调用非静态方法。
java 中是否可以重写一个 private 或者 static 方法?
是的,在Java中,可以使用private或static修饰方法(即类中的函数)。
使用private修饰的方法只能在同一个类中被访问,无法在其他类中被访问。这种方法常用于隐藏一些实现细节或者限制外部类的访问权限。
使用static修饰的方法是类级别的方法,它可以在不创建类实例的情况下被调用。这种方法常用于创建通用的工具方法或提供全局功能。在静态方法中不能访问非静态成员变量,因为非静态成员变量是实例级别的,需要先创建实例才能访问。