java程序在运行之前要先编译,静态方法在编译器就存放在了方法区内,而非静态方法此时还没有进栈,所以java虚拟机在编译的时候找不到该方法,所以报错。
其实关于static的问题,你都可以理解成为生命周期的问题,活的长的不能调用活的短的,因为还没等调用呢就挂了,虚拟机无法执行程序,而静态方法的生命周期
显然要比非静态的长,所以是无法调用非静态方法的。将代码改为:
public class MaxDemo
{
public static void main(String[] args)
{
int a = 5,b = 8;
int max;
max = getMaxValue(a,b);
System.out.println("最大值是"+max);
}
public static int getMaxValue(int value1,int value2)