亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下是CommonClass.java文件,麻煩大佬幫忙看看~

以下是CommonClass.java文件,麻煩大佬幫忙看看~

開滿天機 2022-07-26 19:15:42
////////////////////////////////////////////////////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 stubfinal 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();}哎,粘貼了這么多,也不知道有沒有說清楚,有勞各位高手了。。。
查看完整描述

2 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

因為你是在主函數里面構造的內部類,別忘了,主函數是static的,它不依賴于主函數所在的類。你應該把 Runnable r2=new Runnable(){//省略...}這段代碼放到一個CleanRead的成員方法中,比如,在CleanRead類中,你寫一個public void test(){}方法,然后把你的代碼放到test方法體中,然后再main函數中調用,new CleanRead().test(); 就可以了

查看完整回答
反對 回復 2022-08-01
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

你可以實例化這個對象,然后用對象去引用它里面的方法!
調用一個類的方法有兩種方式
1、類名.靜態方法();
2、類名 cc = new 類名();
cc.方法名();

查看完整回答
反對 回復 2022-08-01
  • 2 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號