자바 중성자 클래스의 계승성을 바탕으로 하는 응용 소개

5623 단어 java계승
1, 상속의 정의
자류의 구성원 중 일부는 자류가 스스로 정의를 설명한 것이고, 다른 일부는 그의 부류로부터 계승된 것이다.하위 클래스는 상위 클래스의 구성원 변수를 자신의 구성원 변수로 계승하는데, 마치 그들이 하위 클래스에서 직접
마찬가지로 이불류 중의 자신의 어떤 실례적인 방법도 조작할 수 있음을 분명히 밝혀라.즉, 하위 클래스가 계승하는 구성원은 이 클래스의 완전한 의미의 구성원이어야 한다. 만약에 하위 클래스에 명시된 실례 방법이 상위 클래스를 조작할 수 없다면
의 어떤 구성원 변수, 이 구성원 변수는 이불류 계승이 없다. 자류가 부류를 계승하는 방법은 자류 중의 방법으로 그들이 자류에서 직접 소리를 내는 것처럼 이불류 중에서 자신이 성명할 수 있는 인호의 실례이다
방법 호출.
2. 하위 클래스 상위 클래스가 하나의 패키지에 있는 경우
하위 클래스는 부모 클래스 중private의 구성원 변수와 방법을 제외하고 자신의 구성원 변수와 방법으로 계승할 수 있다.상속된 구성원 변수와 방법에 대한 액세스 권한은 변경되지 않습니다.
/test/src/com/b510/Parent.java

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class Parent {
     private int numbera = 10;
     protected int numberb = 20;

     /**
      * sum()
 */
     void sum() {
         numberb = numbera + numberb;
         System.out.println(numberb);
     }

     /**
      * numbera, private
      *
      * @return numbera
 */
     private int getNumbera() {
         System.out.println(numbera);
         return numbera;
     }

     /**
      * public
 */
     public void print() {
         System.out.println("numberb+numbera=" + (numberb + numbera));
     }

     /**
      * protected
 */
     protected void say() {
         System.out.println("Hello,i'm parent class!");
     }
 }
/test/src/com/b510/ParentAndSubClass.java

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class ParentAndSubClass {
     public static void main(String[] args) {
         SubClass sub = new SubClass();
         //
         sub.say();
         sub.sum();
         sub.print();
         //
         sub.proFun();
         sub.youYuan();
     }

 }
/test/src/com/b510/SubClass.java

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class SubClass extends Parent {

     /**
      *
 */
     void youYuan() {
         System.out.println(" numbera, numberb=" + numberb);
         System.out.println(" ");
     }

     /**
      * private
 */
     private void priFun() {
         System.out.println(" private ");
     }

     /**
      * protected
 */
     protected void proFun() {
         System.out.println(" numberb=" + numberb);
     }

 }
실행 결과:

Hello,i'm parent class!
 30
 numberb+numbera=40
  numberb=30
  numbera, numberb=30
 
요약: 자류와 부류가 같은 가방에 있을 때 자류는 부류의private를 포함하는 변수와 방법을 계승할 수 없다.
3. 하위 클래스와 상위 클래스가 같은 패키지에 없는 경우/test/src/com/Parent.java

package com;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class Parent {
     private int numbera = 10;
     protected int numberb = 20;

     /**
      * sum()
 */
     void sum() {
         numberb = numbera + numberb;
         System.out.println(numberb);
     }

     /**
      * numbera, private
      *
      * @return numbera
 */
     private int getNumbera() {
         System.out.println(numbera);
         return numbera;
     }

     /**
      * public
 */
     public void print() {
         System.out.println("numberb+numbera=" + (numberb + numbera));
     }

     /**
      * protected
 */
     protected void say() {
         System.out.println("Hello,i'm parent class!");
     }
 }
/test/src/com/b510/ParentAndSubClass.java

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class ParentAndSubClass {
     public static void main(String[] args) {
         SubClass sub = new SubClass();
         //
         sub.say();
         sub.print();
         //
         sub.proFun();
         sub.youYuan();
     }

 }
/test/src/com/b510/SubClass.java

package com.b510;

 import com.Parent;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class SubClass extends Parent {

     /**
      *
 */
     void youYuan() {
         System.out.println(" numbera, numberb=" + numberb);
         System.out.println(" ");
     }

     /**
      * private
 */
     private void priFun() {
         System.out.println(" private ");
     }

     /**
      * protected
 */
     protected void proFun() {
         System.out.println(" numberb=" + numberb);
     }

     @Override
     protected void say() {
         System.out.println(" protected ,say(), numberb=" + numberb);
     }
 }
실행 결과:.요약: 하위 클래스와 하위 클래스는 같은 패키지에 있지 않습니다. 하위 클래스는protected,public 변수와 방법을 계승할 수 있습니다. 계승된 구성원이나 방법의 접근 권한은 변하지 않지만 하위 클래스는 상위 클래스의 우호(우원) 변수와 우호(우원) 방법을 계승할 수 없습니다.

좋은 웹페이지 즐겨찾기