Java静态方法static关键字(1)

问题:

Main类,main函数中调用pupAge方法,调用过程中报错:无法从静态上下文中,引用非静态方法

解释:

  1. 用static修饰的方法称为静态方法,修饰变量则为静态变量,又分别叫做类方法或者类变量。
  2. 静态方法中不能直接调用非静态方法。因为非静态方法不是独立存在的,它是依附于对象存在,即只有申明了对象,才能通过对象调用。
  3. 静态方法则可以直接通过类名调用,而不需要实例化对象。因此直接引用非静态方法就会出错。
  4. 常见的main方法都是静态的,必须由static修饰,因此在main方法里调用类的其他非静态方法,都是需要先申明对象,才能用。否则就会出现引用非静态方法的错误。
  5. 要解决这个问题,可以去除一般方法的static关键字(如果是main方法,则不能去掉static)。另外一种方法就是把需要引用的方法也设置成静态方法。
  6. 需要理解java中static关键字,参见以下链接
    https://www.cnblogs.com/dolphin0520/p/3799052.html

posted @ 2017-12-10 21:00  鲸落丶  阅读(470)  评论(0编辑  收藏  举报