2011-01-04 10 views
1

을 수행 할 수없는거야 이건 내 코드입니다 :나는 가상 메소드 호출

class base1 
{ 

} 
class der1 extends base1 
{ 
public static void main(String []args) 
{ 
    base1 b=new der1(); 
    b.showTest(); 
} 
public void showTest() 
{ 
System.out.println("Hello i am a derive class"); 
} 

} 
+0

예외를 선언

1 .- 기본 클래스에 선언 : 당신이 한을 사용할 수 있도록? 컴파일 오류? – OrangeDog

+0

클래스 이름을 대문자로 지정하십시오. 'Base1'과'Der1'도 같은 줄에 여는 중괄호를 두는 것이 좋습니다. – OscarRyz

답변

2

가 컴파일되지 않습니다.

당신은 또한()는 컴파일 가능한

base1 B = 새로운 der1 만들기 위해 기본 클래스에서 showTest()이 필요합니다; b.showTest(); 여기

b은 당신이 showTest()

der1의 버전을 호출합니다 그것이 인해

base1 b=new der1();baseshowTest()를 확인하고 런타임에 줘야 컴파일 시간에 baseshowTest() 필요 base의 참조입니다

참조

+0

감사합니다 많은 죄송합니다. 나는 그것을 회상 할 수 없었습니다. –

+0

당신을 환영합니다. & 답장으로 표시하십시오. –

1

방법 showTest()은 서브 클래스에서 정의됩니다.

class base1 { 
    public void showTest(){ 
    } 
} 

또는 가 2 .- bder1

public static void main(String [] args) { 
    der 1 b = new der1(); 
    ...