黑马程序员技术交流社区
标题:
静态问题
[打印本页]
作者:
黑白小調°
时间:
2014-1-14 08:37
标题:
静态问题
在静态方法中不可以直接调用非静态方法,那么怎样用静态方法调用非静态方法呢?
例如下列代码中如何使用静态方法method3调用非静态方法method2:
public classStaticTest
{
static double PI=3.14;
static int id;
public static void method1( )
{
}
public void method2( )
{
System.out.println(StaticTest.PI);
System.out.println(StaticTest.id);
StaticTest.method1( );
}
public static StaticTest method3( )
{
method2( );
return this;
}
}
作者:
776699
时间:
2014-1-14 09:05
静态方法不能调用非静态的。
作者:
xu6148152
时间:
2014-1-14 09:14
这是规定。
静态方法先于非静态方法载入内存。
因此不能使用静态方法访问非静态方法。
作者:
范二青年
时间:
2014-1-14 09:16
首先要搞清楚静态和非静态的从属关系,静态是属于类本身的,可以使用类名直接调用,而非静态是属于类对象的,必须要创建对象之后才能调用。这么说不知道你能不能理解。
static方法属于类本身,如果想要在其中调用非静态方法只能先创建类对象
classStaticTest test = new classStaticTest();
test.method2();
这和main方法调用非静态方法是一样的,如果不理解再问我哈!
作者:
app297
时间:
2014-1-14 12:12
静态方法要调用非静态方法 就必须得 先创建对象。 new 一个对象。在调用其中的非静态方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2