2013-04-06 2 views
0

는 다음 코드 조각을 고려하십시오 : 등등 등등서블릿에 인터페이스 개체 만들기?

import java.io.*; 
import java.util.*; 
import javax.servlet.*; 

public class PostParametersServlet extends GenericServlet{ 
    public void service(ServletRequest request , ServletResponse response) throws 
     ServletException, IOException { .... 

과를 .....

내 질문 :

우리가 인터페이스의 개체를 만들 수 없습니다 말했다 됐어요 위의 코드 조각을 고려해 보면 ServletRequest와 ServletResponse가 javax.servlet 패키지의 핵심 인터페이스입니다.

또한 "요청"과 "응답"은 위의 프로그램 설명에서 객체라고합니다.

아무도 말해 줄 수 없습니까/나에게 설명해 주실 수 있습니까? 인터페이스가 객체를 가질 수 없다는 사실을 고려하여 어떻게이 인터페이스가 자신의 객체를 가질 수 있습니까?

어딘가 잘못되면 저를 시정하십시오.

+0

귀하의 질문은 약간 혼란 스럽지만 나는 당신이 빠뜨린 점은 인터페이스로 객체를 참조 할 수 있다는 것입니다. 예를 들어 Animal 인터페이스와 Dog 클래스가있는 경우 Animal myAnimal = new Dog()를 선언 할 수 있습니다. – mconlin

+0

인터페이스에 대해 자세히 알아 보려면이 [질문] (http://stackoverflow.com/questions/3355408/explaining-interfaces-to-students)을 확인하십시오. – A4L

답변

0
Could anyone tell/explain me how can these interfaces have object of their own considering the fact that interfaces cannot have objects? 

올바르지 않습니다.

인터페이스 유형 참조는 해당 인터페이스를 구현하는 모든 오브젝트를 나타낼 수 있습니다.

HttpServletRequest와 HttpServletResponse가 각각의 인터페이스를 구현한다는 것을 알 수 있습니다. 당신은 분명히 그 중 하나를 여기에 전달할 수 있습니다.

1

개체 인터페이스를 구현합니다.

public class ServletRequestImpl implements ServletRequest { 
    // All of the methods defined in ServletRequest implemented here. 
} 

당신이 당신의 service() 방법에 ServletRequest을 얻을

, 당신은 정말 인터페이스를 구현하는 구체적인 객체를 얻고있다 : 그래서 ServletRequest의 경우, 그것을 구현하는 객체, 이런 일이있다.

나는 인터페이스가 인터페이스 자체에 구현 세부 사항이 없다는 혼란이 있다고 생각합니다. 인터페이스는 구현할 다른 객체에 대한 사양을 제공하기 만합니다.

0

다음 고려 유형 :

지금
public interface A { 
public void m(); 
} 
public class B implements A { 
public void m() { 
    // TODO Auto-generated method stub 
} 
} 

당신이 코드 라인 수 : anyMethod에서

public static void main(String[] args) { 
A a = new B(); 
anyMethod(a); 
} 

public static void anyMethod(A a) { 
System.out.println(a.getClass()); 
} 

는 매개 변수 유형은 인터페이스 A를하지만, 실제 유형이 될 것 B이다 sysout으로 표시

관련 문제