初学JAVA,由“无法从静态上下文中引用非静态方法”引出的疑问 我在主函数里调用公共类的其它函数(没用static修饰)时显示错误“无法从静态上下文中引用非静态方法”,但当我把方法放到另一个类中,创建对象再调用,却又没这样提示了,是不是说明“无法从静态上下文中引用非静态方法”这样的情况只是针对同一个类里面的?不在同一个类里面就不用考虑static的问题了?混乱了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我就会笨办法记:只要不是static修饰的方法,必须要通过对象进行引用。在非静态方法里,可能省略了(this)。在静态的方法里,看看有没有你这个方法所在类的对象。没有肯定报错。 楼主,你好。因为静态方法的调用不是通过实例对象进行的,所以在静态方法中没有this指针,不能访问所属类的非静态变量和方法,只能访问方法体内的局部变量、自己的参数和静态变量。所以你在在static的主函数里调用非static的方法时肯定报错。所以你把方法放到另一个类,创建对象再调用,不会出错,因为你这个方法不是静态的,即不是属于类的,而是属于具体的一个实例对象的,用对象调用那当然不会错咯! 只要记住这一点:用statci修饰的成员是属于类的,在static的方法里可以用类名直接调用;不用statci修饰的成员是属于具体实例对象的,需要用对象名调用,且在static的方法里不可以调用。 小弟请求 关于wait,notify,notyfyAll 循环打印问题 关于通信录问题,请高手进来看一下 如何解决JTextArea中所选字段的字体设置问题和对齐方式问题 ##做了个即时通讯+信息发布搜索的东东,大家帮忙看看,提提意见,顺便帮我测试测试## mysql-connector-java-3.1.7-bin.jar要拷贝到什么地方?(mysql连接jdbc) 请教:对字符数组的赋值和参数的传递! 谢谢! jtable中怎样用鼠标点击任何一个单元格时,该单元格所在的整个一行都被选中,即颜色变深 一個關於SQL數據庫查詢的很菜的問題 关于JNI的问题 jfreeChart
只要不是static修饰的方法,必须要通过对象进行引用。在非静态方法里,可能省略了(this)。在静态的方法里,看看有没有你这个方法所在类的对象。没有肯定报错。
用statci修饰的成员是属于类的,在static的方法里可以用类名直接调用;
不用statci修饰的成员是属于具体实例对象的,需要用对象名调用,且在static的方法里不可以调用。