老黑讲Java之面向对象继承

2025-10-15 11:21:48

1、泛化的意义

    泛化是继承的源头,理解了泛化,就不难搞懂继承。泛化是提炼出每个类中的公共部分作为父类,子类继承父类后,子类就拥有了父类的特性。

老黑讲Java之面向对象继承

2、extends关键字

    1、只用写上extends关键字才可以实现继承;

    2、子类继承父类后,子类可以使用成员变量及成员方法,同时子类可以定义自己的成员变量和成员方法;

    3、Java不支持多重继承,一个类只能继承一个父类,一个父类可以有多个子类,示例代码如下:

    //父类

    public class People {

        String name;

        int age;

        String gender;

        public People() {

   

        }

        public People(String name, int age, String gender) {

            super();

            this.name = name;

            this.age = age;

            this.gender = gender;

        }

   }

    //子类  

    public class Programmer extends People {

        public void ProgrammingCode(String language) {

   

        }

    }

老黑讲Java之面向对象继承

老黑讲Java之面向对象继承

3、子类继承父类,父类必须有一个无参的构造方法

     1、子类的构造方法必须通过super关键字调用父类的构造方法,这样可以初始化继承父类的成员变量;

     2、子类的构造方法没有调用父类的构造方法,Java编译器会自动的加入对父类无参构造方法的调用,如果父类没有无参构造方法,则会出现编译错误。

     

     public class Programmer extends People {

         public Programmer(){

             super();//编译器自动添加,调用父类无参的构造方法,父类没有无参构造方法则会出现编译错误

         }

         public void ProgrammingCode(String language) {

   

          }

     }

    或者可以这么写构造方法:

               

    public class Programmer extends People {

         double salary;

         public Programmer(String name, int age, String gender, double salary){

         super(name, age, gender);

          }

          public void ProgrammingCode(String language) {

   

          }

    }

    

老黑讲Java之面向对象继承

老黑讲Java之面向对象继承

4、父类的引用可以指向子类的对象

   1、父类类型的引用可以指向子类的对象,即,一个子类的对象可以向上造型为父类的类型,代码如下:

   People people = new Programmer ();

    或者

   People people = new Programmer("老黑",18,"男",3000);

5、父类的引用只能访问父类的成员,不能访问子类自定义的成员

    People people = new Programmer("老黑",18,"男",3000);

    System.out.println(people.name);

    System.out.println(people.salary);//编译错误

老黑讲Java之面向对象继承

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢