700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java static方法中为什么只能调用静态方法?

Java static方法中为什么只能调用静态方法?

时间:2019-01-06 10:12:42

相关推荐

Java static方法中为什么只能调用静态方法?

import java.io.*;import java.util.*;public class Main{public static void main(String args[]) throws Exception{f();}boolean f() {return true;}}

上述代码IDE报错:Cannot make a static reference to the non-static method f() from the type Main

原因如下:

1、静态方法可以通过“类名.方法”的方式调用,正如main方法的调用方式

2、若静态方法中包含了非静态方法,如上述的f(),由于f()的类对象可能未被实例化,为了避免这种情况,于是静态方法只能调用静态方法

3、就是想用非静态,也可以,解决2的问题,直接this.f()也是不行,将方法的对象实例化,如下

import java.io.*;import java.util.*;public class Main{public static void main(String args[]) throws Exception{Main main = new Main();main.f();}boolean f() {return true;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。