кода я наткнулся был этим, как объект создан, и это метод был назван:Java: Какова цель создания объекта в куче без ссылки
public static void main(String[] args) {
new DemoSoap().request(); //<----how come there is no reference?
}
private void request() {
try {
// Build a SOAP message to send to an output stream.
SOAPMessage msg = create_soap_message();
// Inject the appropriate information into the message.
// In this case, only the (optional) message header is used
// and the body is empty.
SOAPEnvelope env = msg.getSOAPPart().getEnvelope();
SOAPHeader hdr = env.getHeader();
// Add an element to the SOAP header.
Name lookup_name = create_qname(msg);
hdr.addHeaderElement(lookup_name).addTextNode("time_request");
// Simulate sending the SOAP message to a remote system by
// writing it to a ByteArrayOutputStream.
out = new ByteArrayOutputStream();
msg.writeTo(out);
trace("The sent SOAP message:", msg);
SOAPMessage response = process_request();
extract_contents_and_print(response);
}
catch(SOAPException e) { System.err.println(e); }
catch(IOException e) { System.err.println(e); }
}
- Будет объект уничтожен коллекцией одежды после метода request()?
- В чем преимущество создания объекта в куче без ссылки, как в этом случае?
Если вы считаете, что этот вызов является подозрительным, вы правы: так называемые вызовы часто сигнализируют, что метод 'запрос' должен был быть сделан' static' , – dasblinkenlight
@dasblinkenlight: Ну, может быть, «DemoSoap» может быть дополнительно настроен? Это не так хорошо работает со статическими методами. 'new DemoSoap (nonStandardPort, ignoreSSLErrors) .withFunkyOption (x) .request()' – Thilo
и, возможно, код, который создает и настраивает экземпляр «DemoSoap» (в том числе выбор между «DemoSoap» и «TestSoap»), не всегда является одним и тем же кодом который вызывает запрос? – Thilo