2015-12-22 50 views
2

我正在嘗試編寫一個簡單的Java程序,它只是發送電子郵件並從我的收件箱中的電子郵件中檢索文本,我對Authenticator對象的工作方式有點困惑。爲什麼在構造函數之後立即有括號的代碼,它是如何工作的?我發現這個示例代碼用於創建一個Session對象,並且它工作正常,但我從來沒有見過這種表示法,並且在其他地方找不到其他任何示例。javamail Authenticator的構造函數是如何工作的?

Session session = Session.getInstance(props, 
    new javax.mail.Authenticator() { 
    protected PasswordAuthentication getPasswordAuthentication() { 
     return new PasswordAuthentication(username, password); 
    } 
    }); 

回答

1

The Java™ Tutorials - Anonymous Classes

匿名類讓你讓你的代碼更簡潔。它們使您能夠同時聲明和實例化一個類。除了沒有名字之外,它們就像本地的課程。如果您只需要使用一次本地課程,請使用它們。

JAVAMAIL API FAQ

一個更簡單的方法是調用連接到存儲時,需要一個用戶名和密碼connect方法。發送消息時,請使用帶有用戶名和密碼的靜態Transport.send方法。

+0

啊,那現在很有意義。謝謝,那正是我需要的! – bmaxey813