2013-12-19 3 views
0

기본 생성자가있는 Abstract 클래스와 개인 생성자가있는 클래스의 차이점은 무엇입니까?기본 생성자 및 개인 생성자 차이가있는 클래스가있는 추상 클래스

또 다른 의문점이 있으니 이 프로그램을 아래에서 고려하십시오. 누구든지 설명해 주실 수 있습니까? 그런 코드에 쓸모가 있습니까?

abstract class AbstractAndPrivate 
{ 
AbstractAndPrivate() 
{ 
    AbstractAndPrivate ref= new AbstractAndPrivate(1) { 

     @Override 
     int m2() { 
     // TODO Auto-generated method stub 
     return 0; 
     } 
        }; 

      } 
void m1() 
{ 
    System.out.println("m1() accessed"); 
} 
abstract int m2(); 

AbstractAndPrivate(int a) 
{ 

} 
public static void main(String[] args) { 

System.out.print("hello "); 

AbstractAndPrivate ref= new AbstractAndPrivate() {public int m2(){return 1;}}; 
System.out.println(ref); 
ref.m1(); 
ref.m2(); 
} 
} 

답변

3

기본 생성자 및 개인 생성자 클래스와 추상 클래스의 차이점은 무엇입니까?

기본 생성자가있는 경우 하위 클래스에서 호출 할 수 있습니다. 개인용 인 경우 전용 생성자에 액세스 할 수있는 유일한 컨텍스트 인 것처럼 동일한 클래스 내에서만 하위 클래스를 만들 수 있습니다. 이 패키지로 보호 된 매개 변수가없는 생성자를 제공 명시 적으로 - 당신이 제공 한 코드가 도 이러한 상황의입니다

참고. 그것은 개인적인 것이 아니며 기본 생성자가 아닙니다. 인스턴스를 생성하기보다는 단지에 의존하기 위해 단지 개인 생성자 세력과 추상 클래스는 당신이 선언 클래스 내에서 서브 클래스을 만들 수 있지만 클래스가 추상적인지 여부

,이 제공하는 생성자에 직교 선언 클래스 내에서 인스턴스을 생성합니다. -1 :

또한
0

, 추상 클래스 (그들은 너무 추상적 아니라면) 서브 클래스에 의해 구현 될 필요가있는 추상적 인 방법,

편집을 가질 수있다? 어서, 추상적 인 방법은 추상적 인 클래스와 개인 생성자가있는 클래스 사이의 논리적 인 차이점을 설명한다. 제발 ...