>Java >java지도 시간 >Java의 추상 클래스란 무엇입니까?

Java의 추상 클래스란 무엇입니까?

零下一度
零下一度원래의
2017-06-25 09:34:552037검색

인터페이스를 이해하려면 먼저 추상 클래스를 알아야 합니다. 그렇다면 추상 클래스란 무엇인가?

문제 설명: 우리 삶에는 구체적으로 설명할 수 없는 많은 물체가 있습니다. 예를 들어 사각형에는 네 개의 변이 있다고 말할 수 있습니다. 또는 좀 더 구체적으로 말하자면, 직사각형의 두 변은 대칭이고 동일하며, 정사각형은 네 개의 변이 대칭이고 동일합니다. 하지만 일반적인 그래픽의 경우 자세히 설명하기는 어렵습니다. Java 언어로 변환한다는 것은 매우 특정한 클래스의 경우 다양한 속성과 메소드를 쉽게 정의할 수 있지만 일부 클래스의 경우 해당 메소드가 어떻게 구현되는지 이해하기 어렵다는 것을 의미합니다. 이때 추상 클래스를 사용할 수 있습니다. 추상 클래스의 구문 형식은 다음과 같습니다.

1 public abstract class 类名{2   abstract 返回值类型 方法名(参数列表);//定义抽象方法      3 }
추상 메소드를 정의하는 키워드는 abstract입니다.

추상을 사용하여 정의된 클래스를 추상 클래스라고 하며, 추상을 사용하여 정의한 메서드를 추상 메서드라고 합니다.

추상 메서드에는 메서드 본문이 없으며 자체적으로 의미가 없으므로 추상 클래스를 인스턴스화할 수 없습니다.

하위 클래스에서 상속되는 경우 하위 클래스는 그 안에 있는 모든 추상 메서드를 구현해야 합니다.

클래스에 추상 메서드가 있는 한 이 클래스는 추상 클래스로 정의되어야 합니다.

추상 클래스를 이해한 후 다음 문제에 대해 계속 생각해 보겠습니다. 다음 코드를 살펴보겠습니다.

public abstract class shape 
{//定义一个图形抽象类public abstract void toString();//toString抽象方法public abstract void paint();//画图的抽象方法}public class triangle extends shape
{public void toString()
    {
        system.out.println("toString");
    }public void paint()
    {
        system.out.println("paint");
    }
}
문제가 없는 것 같습니다. 일부 클래스에 페인트 방법이 포함되는 것을 원하지 않으면 어떻게 되나요? 페인트 방법을 다른 클래스에 넣으시겠습니까? 하지만 다른 클래스에서도 이 방법을 사용해야 합니다. Java의 구문은 클래스가 여러 클래스에서 상속될 수 없다고 규정합니다. 어떻게 해야 합니까? 현재로서는 인터페이스 사용을 고려할 수 있습니다.

Interface는 Java의 다중 상속의 단점을 해결하는 추상 클래스의 확장입니다. 페인트 메소드를 인터페이스로 캡슐화한 다음 사용해야 하는 그래픽 클래스의 하위 클래스가 이 인터페이스를 구현하도록 할 수 있습니다. Java에서는 클래스가 여러 인터페이스를 구현할 수 있습니다. 인터페이스에 다양한 메서드를 캡슐화하고 이를 클래스에 남겨두어 사용할 수 있습니다.

인터페이스의 키워드는 인터페이스입니다. 정의는 다음과 같습니다:

public interface 接口名  extends 类名  implements 接口,....{  //定义常量
  public static final 数据类型 常量名=值;  //定义抽象方法
  public abstract 返回值类型 方法名 (参数列表);        
}
다음 사항에 유의해야 합니다. 1. 인터페이스는 인스턴스화할 수 없습니다. 2. 인터페이스의 액세스 한정자는 공개만 가능합니다. 3. 인터페이스는 공개 추상 정적 최종 키워드를 제공합니다. 기본적으로

위 내용은 Java의 추상 클래스란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.