그래서 내가 IntelliJ에이 코드를 썼다 :왜이 추상 클래스를 인스턴스화 할 수 있습니까? 나는 자바에서 추상 클래스를 이해하려고 노력 중이 야
AutoCloseable ac = new BufferedInputStream(new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
});
@Override
및 read()
스텁은 IntelliJ에 의해 자동으로 생성되었다.
InputStream
은 추상 클래스이므로 new
키워드로 인스턴스를 생성 할 수있는 이유는 무엇입니까?
그리고 또 하나. 나는이 같은 방법 스텁을 삭제하는 경우 :
AutoCloseable ac = new BufferedInputStream(new InputStream());
IDE는 InputStream
추상적이므로 (예상대로) 인스턴스화 할 수없는 것을 말한다.
그래서 왜 전 유효하고 후자가 아닌가?
이 read()
방법의 출처는 무엇입니까?