상속의 개념

패키지 cn.learn.extend; 

/ * 
   定义一个父类
 * / 
공용  클래스 사원 { 

    INT의 NUM = 20 ;
    개인  INT의 시대;
    개인 문자열 이름; 

    공공  INT getAge () {
         반환 시대; 
    } 

    공공  무효 setAge ( INT의 연령) {
          .age = 나이; 
    } 

    공공 문자열 getName () {
         반환 이름; 
    } 

    공공  무효 에서는 setName (문자열 이름) {
          .name을 =이름; 
    } 

    공공 직원 ( INT의 나이, 문자열 이름) {
          .age = 나이;
         .name을 = 이름; 
    } 

    공용 사원 () { 
    } 

    공공  공극 방법 () { 
        에서 System.out.println ( "我来自父类!!" ); 
    } 
}
패키지 cn.learn.extend; 

/ * 
1. 서브 클래스에 의해 생성 된 직원 
    참고 : 같은 이름과 부모 클래스의 멤버 변수 변수 / 서브 클래스 멤버 방법 
    (비 전용 멤버 변수)에 접근하는 방법은 두 가지가 있습니다 
    직접적으로는 : 서브 클래스 개체 액세스 멤버 변수 / (시공 방법 제외) 멤버 방법으로 
            등호의 왼쪽에 다음 결코 즉,의 대상이 걸릴 클래스에 의해 생성된다 (내려다보고하지 찾고 유지하지 않을 경우 것이다 우선 순위가있는 일입니다 a) 
    간접 : 부재 법에 의해 멤버 변수에 액세스 

2. 오버라이드 (재정의) 계층의 파라미터리스트로서 파라미터는 동일한 방법 이름, 상위 클래스 덮어 
  과부하 (과부하)과 동일한 방법 이름, 파라미터리스트는 아니다 같은 

3. 재 작성 참고 : 서브 클래스의 메소드의 값이 있어야합니다 반환 같거나 [] 부모 클래스 반환 값 덜 
  확장 참고 : java.lang.Object 상위 클래스는 공통의 부모 (상위 클래스), java.lang의 모든 종류의 가장 높은 .String는 개체 클래스 

권한 하위 클래스 방법 (수정) 또는 동등한] [부모 권한보다 커야합니다 : 4. 재 작성 참고 
  확장 참고 : 공공> 보호> (기본) > priva 테 (??이 클래스의 멤버 변수 수정 이유) 



@Override이 - 효과적으로 메모를 다시 검출 재생의 파라미터리스트와 일관성 여부 

 * / 
공용  클래스 교사 (가) 확장 직원을 {

    INT NUM = 100;     //이 하여 부모 클래스와 동일한 이름이 될 수 있습니다 

    @Override 
    공공  INT getAge는 () {
         반환 ; 나이 
    } 

    @Override 
    공공  무효 setAge ( INT의 나이) {
         다음은이 .age = 나이; 
    } 

    개인  INT의 시대; 

    // 다시 쓰기 방법에있어서,
     // 세 가지 변수, 서브 클래스 NUM 국소 NUM 부모 NUM 호출 
    @Override
     공개  공극 방법 () {
         INT의 NUM = 50; // 로컬 변수 
        에서 System.out.println ( "로컬 변수는 I이다 : "+  NUM);
        에서 System.out.println ( + "I 변수의 서브 AM" 이 본 .num)       // NUM의 외부에있어서 상기 방법 
        에서 System.out.println (+ "I 변수의 상위 클래스 AM" 슈퍼 .num );     // 부모 클래스 NUM 
    } 
}
패키지 cn.learn.extend; 

/ * 
    상속 전제 조건 다형성 
    서브 클래스 정의 형식 
    부모 클래스 이름의 공용 클래스의 서브 클래스 {이름} 확장 

    승계 : 
    생성자 호출 부모 클래스는 서브 클래스 있기 때문에, 우선 순위의 서브 클래스 생성자는 "슈퍼 ()"를, 그래서 부모 클래스 생성자 우선 순위 기본 
    [이 또한 클래스의 인수 생성자 표준입니다,하지만 인수없이 부모 클래스의 생성자를 작성하지 않은 경우, 기본 호출이 불평 할 것이다, 
    그러나 서브 클래스의 생성자가있을 수에 그들은 형식으로 "슈퍼 (매개 변수 데이터)"오류를 방지하기 위해 참조 기능이 
    자격으로 ** 만 서브 클래스의 생성자를 호출하고, 첫 번째 문이어야합니다, 만 호출 할 수 있습니다 

    서브 클래스는 전화를 기본값으로 쓰지 않는다, 부모 클래스 생성자를 호출해야합니다 


    슈퍼 키워드를 사용 
    서브 클래스에서 1.에게 부모 클래스 메소드의 멤버 변수를 
    2 호출 부모 클래스에서 같은 이름의 서브 클래스 방법에서 부모 클래스의 방법을 
    3. 생성자 서브 클래스에서 상위의 클래스 생성자 액세스 

    키워드 
    1.이 접근 방법은 동일한 이름의 로컬 변수의 부재 사이에 구별이 클래스의 멤버 변수 방법의 부재를 사용하여 
    ,이 클래스 2 될 본 클래스있어서 접속 부재 메소드의 멤버는, 상위 클래스를 구별하는 방법을 강조하기 위해 사용되는 동일한 이름을 생략 할 수있는 
    접근 방식이 생성자 과부하 클래스의 다른 구성, 형식 3이 (파라미터 데이터) 
    참고 : 한 번만 호출 3이 첫 번째 문이어야하며, 우리는 또 다른 점은 동시에 사용할 수 없습니다 슈퍼과이를 볼 수 있습니다 이 인수 생성자가 인수없이 호출 할 수 없습니다, 그것은 무한 루프에 빠질 것입니다 



 * /
공용  클래스는 {확장
     공공  정적  무효 메인 (문자열 []에 args) { 
        교사 하나 = 새로운 교사 (); 

        one.method (); 
        one.setAge ( 21 ); 
        에서 System.out.println ( "目前年龄:"+ one.getAge () + "\의 t"+ one.num); // 21 (100) 


    } 

}

 

추천

출처www.cnblogs.com/huxiaobai/p/11449545.html