인터페이스 가 도대체 뭐야?

3849 단어 인터페이스
인터페이스 에 존재 하 는 의미:
자바 의 인터페이스 역할 에 대해 서 는 잘 모 르 겠 습 니 다.하나의 클래스 는 implements 여러 개의 인 터 페 이 스 를 사용 할 수 있 지만 인터페이스 자 체 는 몇 가지 방법 만 정 의 했 을 뿐 실제 적 인 의미 가 없 으 며 구체 적 인 실현 은 이 를 실현 하 는 클래스 에서 이 루어 져 야 한다.그렇다면 인터페이스 가 무슨 의미 가 있 을 까?
예 를 들 어 현재
public interface I{
    method1(){};
}

class A implements I{
    method1()
{

이렇게 쓰 는 것 과 인 터 페 이 스 를 실현 하지 않 고 method 1 을 class A 로 직접 쓰 는 방법 은 어떤 차이 가 있 습 니까?
즉:
class A{
    method1()
{

구체 적 으로 예 를 들 어 사용 상의 차 이 를 설명 할 수 있 습 니까?
대답:
인터페이스의 가장 중요 한 역할 은 통일 적 인 방문 을 달성 하 는 것 이다.바로 대상 을 만 들 때 인터페이스 로 만 드 는 것 이다.당신 이 묻 는 것 처럼 method 1 의 방법 이 있 습 니 다.만약 내 가 인 터 페 이 스 를 사용한다 면 내 위 에 one.method 1()을 사용 할 수 있 습 니 다.그 렇 죠?그러면 나 new a();a 를 사용 하 는 방법 입 니 다.new b()는 b 를 사용 하 는 방법 입 니 다.
이렇게 하면 불편 합 니까?
이것 을 통일 방문 이 라 고 합 니 다.이 인 터 페 이 스 를 실현 하 는 방법 은 이름 은 같 지만 실현 내용 은 다 르 기 때 문 입 니 다.
내 가 인터페이스 로 대상 을 정의 하면 통일 적 으로 접근 할 수 있 지 않 습 니까?인 터 페 이 스 는 주로 여러 가지 유형 을 대상 으로 이 루어 집 니 다.만약 에 한 가지 유형 만 있 으 면 당연히 인 터 페 이 스 를 사용 하지 않 아 도 됩 니 다.이렇게 생각 하 시 면 저 는 USB 인 터 페 이 스 를 만 들 고 read()추상 적 인 방법 이 있 습 니 다.그리고 mp3 류 가 실현 되 고 U 디스크 류 가 실현 되 며 모 바 일 하 드 디스크 류 가 실현 되 며 제 가 사용 할 때 USB a=new[유형 명]을 사용 합 니 다.이렇게 a.read();내 클래스 이름 에 U 디스크 를 쓰 면 U 디스크 를 읽 고 mp3 를 쓰 면 mp3 를 읽 습 니 다.이 이름 은 속성 파일 에서 읽 을 수 있 습 니 다.당신 이 쓰 는 것 을 사용 하 세 요.
**********************************************************************************************************************
인터페이스의 도입:
추상 류 중의 모든 방법 이 추상 적일 때 이 추상 류 를 다른 형식 으로 정의 하고 표시 할 수 있다.이것 이 바로 인터페이스,키워드 인터페이스 이다.
형식:
interface Demo{
  public static final int NUM = 3;
	public abstract void show1();
	public abstract void show2();
}

 
인터페이스 에서 흔히 볼 수 있 는 멤버:(그리고 이 멤버 들 은 모두 고정된 수정자 가 있다)
1.전역 상수:public static final
2.추상 적 인 방법:public abstract
이 를 통 해 인터페이스 에 있 는 구성원 들 은 모두 공공 권한 이라는 결론 을 얻 었 다.
**********************************************************************************************************************
구현:키워드 implements
주:클래스 와 클래스 간 은 계승 관계 이 고 클래스 와 인터페이스 간 은 실현 관계 입 니 다.
실현 의 도입:추상 류 에서 추상 적 인 방법 은 실현(하위 방법 덮어 쓰기)한 후에 만 사용 할 수 있 기 때문이다.
형식:
class DemoImpl implements Demo{
	public void show1(){
		
	}
	public void show2(){
		
	}
}

 
 주의:1.인터페이스 류 는 인터페이스의 모든 내용 을 가 져 오기 때문에 인터페이스 류 는 예화 할 수 없습니다.
2.인터페이스의 하위 클래스 를 실현 하고 인터페이스의 모든 추상 적 인 방법 을 덮어 야만 이 하위 클래스 를 실례 화 할 수 있다.
 
인 터 페 이 스 는 클래스 가 많이 계승 할 수 없 는 개량 입 니 다:
      다 중 상속 은 방법 호출 의 불확실 성 을 초래 하고,다 중 실현 은 불가능 하기 때문이다.주 된 차 이 는 방법 체 가 있 느 냐 없 느 냐 에 있다.
예:
interface A{
    public void show();
}
interface Z{
    public void show();
}

class Test implements A,Z{
    public void show() {
        
    }
}

좋은 웹페이지 즐겨찾기