无法从 static 上下文引用非 static 方法 'getBookName()'
时间: 2024-01-16 07:04:57 浏览: 28
这个错误通常表示你正在从一个静态方法中尝试调用一个非静态方法,但非静态方法只能从实例对象中调用。
例如,以下代码会出现这个错误:
```
public class Book {
private String name;
public String getBookName() { //非静态方法
return name;
}
public static void printBookName() { //静态方法
System.out.println(getBookName()); //错误,无法从静态方法中调用非静态方法
}
}
```
解决方法是将非静态方法转换为静态方法,或者从静态方法中创建一个实例对象来调用非静态方法。例如:
```
public class Book {
private String name;
public static String getBookName() { //静态方法
return "bookName";
}
public static void printBookName() { //静态方法
System.out.println(getBookName()); //正确,从静态方法中调用静态方法
}
public static void main(String[] args) {
Book book = new Book();
System.out.println(book.getBookName()); //正确,从实例对象中调用非静态方法
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)