2011-05-02 5 views
34

자바의 "서브 클래스"란 무엇입니까?서브 클래스 란 무엇입니까

클래스 및 메서드에 대해 알고 있지만 하위 클래스에 대해서는 알지 못합니다.

+1

... Methos 란 무엇입니까? – Mehrdad

+1

민트 내 생각 엔? ... –

+7

정말이 사이트에서 하위 클래스와 상속을 설명하는 사이트입니까? 정말? –

답변

72

의 서브 클래스이다. 그런 다음

public class BaseClass{ 
    public String getFoo(){ 
     return "foo"; 
    } 
} 

public class SubClass extends BaseClass{ 
} 

...

System.out.println(new SubClass().getFoo()); 

인쇄됩니다 : 서브 클래스가 확장하는 클래스의 기능을 상속하기 때문에

foo 

이 작동합니다.

+2

이것은 Java에서 상속을 무엇이라고 불렀습니까? –

+8

+1 누구든지 관련 될 수있는 간단한 설명. – rzetterberg

2

java의 하위 클래스는 다른 클래스에서 상속 한 클래스입니다.

상속은 클래스가 일반화 된 비헤이비어의 특수한 동작을 추가하는 방법입니다. 이것은 종종 "is ​​a"관계로 표현됩니다.

예를 들어, TriangleShape이므로 Shape 클래스를 구현하고 Triangle 클래스를 상속 받아야 할 수도 있습니다. 이 예는 ShapeTriangleTriangle의 슈퍼 서브 클래스가 다른 클래스를 확장하는 클래스이다 Shape

2

다음과 같은 경우 :

public class A 
{ 
} 

public class B extends A 
{ 
} 

BA에서 A, B 상속의 서브 클래스입니다. 그 반대는 수퍼 클래스입니다.

+0

공개 클래스 B : A는 공용 클래스 B를 의미합니다. ?? –

+0

예. 내가 조정할거야. – Femaref

3

Java는 프로그래밍 언어이므로 서브 클래스는 클래스입니다.

3

다른 클래스를 확장하는 클래스입니다. http://www.java-tips.org/java-se-tips/java.lang/what-is-a-java-subclass.html에서 촬영

예는, 고양이는 서브 클래스가 기존 클래스의 기능을 확장 뭔가

public class Animal { 

    public static void hide() { 
     System.out.println("The hide method in Animal."); 
    } 

    public void override() { 
     System.out.println("The override method in Animal."); 
    } 
} 

public class Cat extends Animal { 

    public static void hide() { 
     System.out.println("The hide method in Cat."); 
    } 

    public void override() { 
     System.out.println("The override method in Cat."); 
    } 

    public static void main(String[] args) { 
     Cat myCat = new Cat(); 
     Animal myAnimal = (Animal)myCat; 
     myAnimal.hide(); 
     myAnimal.override(); 
    } 
} 
9

:-) 동물의 하위 클래스입니다. 나는.

public class Apple extends Fruit { 

    Color color = red; 

} 

Subclass2 - 개별 과일 객체의 속성에 대해 설명합니다 :

public class Banana extends Fruit { 

    Color color = yellow; 

} 
을 - 개별 과일 객체의 속성을 설명

public abstract class Fruit { 

    public abstract Color color; 

} 

Subclass1 : -

슈퍼 클래스는 객체의 catagory 설명

수퍼 클래스의 '추상'키워드는 클래스는 각 서브 클래스가 반드시 가져야하는 필수 정보만을 정의 할 것입니다. 즉, 과일 한 조각은 색상을 가져야 만 슈퍼 클래스에 정의되고 모든 하위 클래스는 해당 속성을 상속하고 특정 객체를 설명하는 값을 정의해야합니다.

의미가 있습니까?

+0

빨간 사과? 하하 –

2

수업을 일련의 사물에 대한 설명으로 생각하십시오. 해당 세트의 모든 구성원은 공통 특성 (메소드 및 특성)을 갖습니다.

하위 클래스는 원래 집합의 특정 하위 집합의 멤버를 설명하는 클래스입니다. 기본 클래스의 많은 특성을 공유하지만 하위 클래스의 멤버에게 고유 한 속성이나 메서드를 가질 수 있습니다.

자바의 "extends"키워드를 통해 하나의 클래스가 다른 클래스의 서브 클래스라고 선언합니다.

public class B extends A 
{ 
... 
} 

B 클래스 B의 A. 인스턴스의 서브 클래스가 자동으로 클래스 A의 경우와 같은 많은 특성을 나타낼 것이다

이 객체 지향 프로그래밍에서 상속의 주요 개념 .

+0

따라서 추상 클래스에는 각 하위 클래스에 있어야하는 필수 정보가 적어도 하나 이상 있어야합니다. 방법을 포함해서? 그러나 사용하지 않아도되는 고유 한 정보와 방법을 포함 할 수 있습니다 (그러나 여전히 선택 사항 임). –

+0

나는 추상 클래스가 특히 어떤 속성을 가질 필요는 없다고 생각한다. 때로는 클래스가 추상 클래스에서 상속한다는 사실만으로 원하는 모든 것입니다. ("다형성"참조) – bpanulla

0

하위 클래스는 다른 클래스에서 확장 된 작은 파일입니다. 예를 들어 일반적으로 자동차에 대한 수업을 만들고 생성자와 물건이있는 모든 자동차에 적용되는 기본 정보가있는 경우보다 구체적인 자동차 또는 자동차의 라인에 새로운 변수/방법을 적용하는 클래스가 있습니다 . 이 글을 올릴 즈음에는 이미 위와 같은 코드 예제가 많이 있습니다.하지만이 설명이 도움이되기를 바랍니다.

+0

반드시 반드시 자체 파일 일 필요는 없습니다. –

관련 문제