인터페이스를 이해하려면 먼저 추상 클래스를 알아야 합니다. 그렇다면 추상 클래스란 무엇인가?
문제 설명: 우리 삶에는 구체적으로 설명할 수 없는 많은 물체가 있습니다. 예를 들어 사각형에는 네 개의 변이 있다고 말할 수 있습니다. 또는 좀 더 구체적으로 말하자면, 직사각형의 두 변은 대칭이고 동일하며, 정사각형은 네 개의 변이 대칭이고 동일합니다. 하지만 일반적인 그래픽의 경우 자세히 설명하기는 어렵습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!