我正在编写一个小型库,我想在向人们教授Java时使用它。我试图在开始时避免使用静态方法,因为它们只会引起混淆。更具体地说,我想避免必须实例化一个类来使用非静态方法和字段。
使用该库的Java程序的一个例子希望是这样的:
using System.Collections.Concurrent;
public static class Email
{
private
static
readonly
ConcurrentDictionary<int, bool> dict =
new ConcurrentDictionary<int, bool>()
;
public static bool TrySend(DateTime timestamp, int SensorID)
{
if (!dict.TryAdd(SensorID, true)) return false;
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("@gmail.com", ""),
EnableSsl = true
};
client.Send("@gmail.com",
"@gmail.com",
"Alarm Alert!",
"There was an alarm today at: " +
timestamp +
" on Sensor: " +
SensorID.ToString());
Console.WriteLine("Sent SensorID: " + SensorID.ToString());
return true;
}
public static void ClearSensorIDs()
{
dict.Clear();
}
}
我已经玩过反射来实例化类,但是Eclipse甚至不会让我定义运行配置,即使库中有一个main方法。
所需的设置量越少(IDE设置,样板代码等)越好。是否可以定义这样的类或类似的类,并在IDE中运行它?任何帮助或建议都表示赞赏。