在实现Runnable接口下的run()方法时,我需要调用另一个类的方法,由于这个方法不是静态的,不能通过,求解
这个是CommonClass.java文件////////////////////////////////////////////////////packagecom.T...
这个是CommonClass.java文件
////////////////////////////////////////////////////
package com.ThreadTest;
public class CommonClass {
/**
* @param args
*/
public void print(String Msg){
String threadName=Thread.currentThread().getName();
System.out.println(threadName+":"+Msg);
}
}
##########################
##########################
这个是CleanRead.java文件
/////////////////////////////////////////////////
package com.ThreadTest;
public class CleanRead {
/**
* @param args
*/
private String fname,lname;
//引用上面的CommonClass,实现run()方法时用到CommonClass下的print()方法
public static CommonClass cc=null;//开始时我没有加static修饰符
public CleanRead(){
cc=new CommonClass();
}
/**
省略若干与问题无关的代码
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final CleanRead cr=new CleanRead();
Runnable r2=new Runnable(){
public void run(){
就在这儿run()方法内部,我需要调用CommonClass下的print()方法,开始的时候我没有将对象cc说明为静态的。MyEclipse就一直提示错误,不让我过去,提示说只有将cc改为静态的才可以通过,难道在实现run()的时候要使用其它类的方法的时候一定要是静态的么????
cc.print("getName()="+cr.getName());
}
};
Thread t2=new Thread(r2,"Thread_2");
t2.start();
}
哎,粘贴了这么多,也不知道有没有说清楚,有劳各位高手了。。。 展开
////////////////////////////////////////////////////
package com.ThreadTest;
public class CommonClass {
/**
* @param args
*/
public void print(String Msg){
String threadName=Thread.currentThread().getName();
System.out.println(threadName+":"+Msg);
}
}
##########################
##########################
这个是CleanRead.java文件
/////////////////////////////////////////////////
package com.ThreadTest;
public class CleanRead {
/**
* @param args
*/
private String fname,lname;
//引用上面的CommonClass,实现run()方法时用到CommonClass下的print()方法
public static CommonClass cc=null;//开始时我没有加static修饰符
public CleanRead(){
cc=new CommonClass();
}
/**
省略若干与问题无关的代码
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final CleanRead cr=new CleanRead();
Runnable r2=new Runnable(){
public void run(){
就在这儿run()方法内部,我需要调用CommonClass下的print()方法,开始的时候我没有将对象cc说明为静态的。MyEclipse就一直提示错误,不让我过去,提示说只有将cc改为静态的才可以通过,难道在实现run()的时候要使用其它类的方法的时候一定要是静态的么????
cc.print("getName()="+cr.getName());
}
};
Thread t2=new Thread(r2,"Thread_2");
t2.start();
}
哎,粘贴了这么多,也不知道有没有说清楚,有劳各位高手了。。。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询