2015-12-22 2 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:

Более простой подход заключается в вызов метода, который принимает имя пользователя и пароль при подключении к магазину. При отправке сообщения используйте статический метод Transport.send, который принимает имя пользователя и пароль.

+0

А, это имеет большой смысл сейчас. Спасибо, это было именно то, что мне нужно! – bmaxey813

Смежные вопросы