闭包末尾增加语句 return this;
public static void main(String[] args) 改写为: run()
最后增加
timetest = TimeTest(); // call 闭包 == new TimeTest()
timetest.run();
例如: TimeTest.bsh
import java.io.*; import java.net.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; TimeTest() { private static DateFormat fmt = new SimpleDateFormat("yy-MM-dd HH:mm:ss") ; /** UTC -> local Time */ public static String getLocalTimeFromUTC(String UTCTime){ java.util.Date UTCDate = null ; String localTimeStr = null ; try { UTCDate = fmt.parse(UTCTime); fmt.setTimeZone(TimeZone.getTimeZone("GMT+8")) ; localTimeStr = fmt.format(UTCDate) ; } catch (ParseException e) { e.printStackTrace(); } return localTimeStr ; } run() { Calendar cal = new GregorianCalendar(); zone = cal.getTimeZone().getID(); print(zone); try { Socket s = new Socket("time.nist.gov", 13); try { InputStream inStream = s.getInputStream(); Scanner in = new Scanner(inStream); while (in.hasNextLine()) { String line = in.nextLine(); // print(line); if (line.length() >24){ String UTC = line.substring(6,24); print("UTC "+UTC); print("CN 20"+getLocalTimeFromUTC(UTC)); } } } finally { s.close(); } } catch (IOException e) { e.printStackTrace(); } } return this; } timetest = TimeTest(); timetest.run();