论坛首页 入门技术论坛

面向对象概念之二:继承

浏览 2502 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-04  
继承: Inheritance:用extends关键字

在父类和子类之间存在着继承和扩展关系.子类继承父类的属性和方法的同时.子类还可以扩展出新的属性和方法.并且还可以覆盖父类中方法的实现方式.

继承的优点:1.避免冗余 

           2.提高代码的可重用性和可维护性

           3.易于扩展

继承可以让我们在编码上省去大量的时间.在继承的概念上.父类就是最基本的类.也就是最简单的类.相当于做一个模板.父类一定要做的一般化.这样才有利于子类扩展.需要注意的是:子类不能继承父类的私有的(private)属性方法.父类的方法如果是默认的.子类的级别不能低于父类. 在子类中用super关键字调用父类的属性.一定要在子类构造方法的首句.注意:用super. 调用父类自身的方法.用super()调用父类构造方法.子类要继承父类的属性时.必须在子类的构造方法里也添加父类的属性.因为在继承的时候子类不能继承父类构造函数里的属性.所以必须要调用父类的构造函数(也就是super())来初始化父类的数据成员.

一个简单的实例类:

class SuperClass{

      String username;

      int    userage;

      public SuperClass(String username,String userage){

             this.username  = username;

             this.userage   = userage;

      }

      public showMissage(){

            System.out.println("username="+username+"\nuserage="+userage);

     }

}

public class Person extends SuperClass{

           String address;

           public Person(String username,int userage,String address){

              super(username,userage);//调用父类的构造函数初始化父类的数据成员

              this.address  = address;

           }

           public void show(){

                super.show();//调用父类的show()方法

                System.out.println("address="+address);

          }

        public static void main(String args[]){

              Person  p = new Person("lily",22,"河北");

              p.show();

        }

}

代码考出即可运行测试.

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics