请问,以下代码有什么问题?(可以输出Log.v("AAA", ".........1.."); 不能输出 Log.v("AAA", ".............test...1..");)
MyClass mMyClass;
public void onClick(View v) {
Log.v("AAA", ".........1..");
mMyClass.test();
Log.v("AAA", ".........2.2..");
}
package com.amaker.ch08.app;
import com.amaker.ch08.app.R;
import android.app.Activity;
.....
import android.util.Log;
public class MyClass {
public int test()
{
Log.v("AAA", ".............test...1..");
return 1;
}
}
------解决思路----------------------
没创建实例,也不是静态方法
------解决思路----------------------
第一个,你先得new一个MyClass,对其实例化,然后才能调用其中的方法。
MyClass mMyClass;
public void onClick(View v) {
Log.v("AAA", ".........1..");
mMyClass = new MyClass();
mMyClass.test();
Log.v("AAA", ".........2.2..");
}
package com.amaker.ch08.app;
import com.amaker.ch08.app.R;
import android.app.Activity;
.....
import android.util.Log;
public class MyClass {
public int test()
{
Log.v("AAA", ".............test...1..");
return 1;
}
}
第二种方法是,将test()写为静态方法:
public void onClick(View v) {
Log.v("AAA", ".........1..");
MyClass .test();
Log.v("AAA", ".........2.2..");
}
package com.amaker.ch08.app;
import com.amaker.ch08.app.R;
import android.app.Activity;
.....
import android.util.Log;
public class MyClass {
public static int test()
{
Log.v("AAA", ".............test...1..");
return 1;
}
}