无法从静态上下文引用非静态方法
用static修饰的方法称为静态方法,修饰变量则为静态变量,又分别叫做类方法或者类变量。
静态方法中不能直接调用非静态方法。因为非静态方法不是独立存在的,它是依附于对象存在——即只有申明了对象,才能通过对象调用。而静态方法则可以直接通过类名调用,而不需要申明对象。因此直接引用非静态方法就会出错。
比如常见的main方法都是静态的,必须由static修饰,因此在main方法里调用类的其他非静态方法,都是需要先申明对象,才能用。否则就会出现引用非静态方法的错误。
基本类型的变量值小,赋值为拷贝,占用不同内存;对象包含很多个值,不容易复制,赋值共享同一片内存区域,为reference赋值。
在本类的任何地方调用本类的非静态方法都可以省略this
但是一般大家不这么做,因为写了显得思路更清晰,大家看起来更好懂