JAVA--继承

  继承在面向对象开发思想中是一个很是重要的概念,它使整个程序架构具备必定的弹性,在程序中复用一些已经定义完事的类不只能够减小软件开发周期,也能够提升软件的可维护性和可扩展性。java

  在java中,使用extends关键字来标识两个类的继承关系。架构

  下面举个例子:ide

  父类:spa

    public class Test {对象

public Test(){继承

//构造方法开发

}编译器

protected void todo(){it

//成员方法编译

}

    }

  子类:

    public class Test2 extends Test{  //继承父类

public Test2(){ //构造方法

super(); //调用父类构造方法

super.todo();   //调用父类成员方法

}

public void see(){

//新增方法

}

public void todo(){

//可重写父类方法

}

    }

super():在子类中,能够直接用super关键字调用父类的构造方法和成员方法。

继承并不仅是扩展父类的功能,还能够重写父类的成员方法。

  注意:当重写父类方法时,修改方法的修饰权限只能从小的范围到大的范围改变,例如上面的例子,父类中的todo()方法的修饰权限为protected,继承后子类中的方法todo()的修饰权限只能修改成public,不能修改成更小的范围private。



  在实例化子类对象时,java编译器会在子类的构造方法中自动调用父类的无参构造方法。

  例子:

  父类:

    public class Test {

public Test(){ //构造方法

System.out.println("这是父类构造方法");

}

    }

  子类:

    public class Test2 extends Test{  //继承父类

public Test2(){ //构造方法

System.out.println("这是子类构造方法");

}

public static void main(String[] args) {

Test2 p=new Test2();   //实例化子类对象

}

    }

最终获得的结果会将父类和子类的构造方法内的打印语句都实现:

这是父类构造方法

这是子类构造方法

  在结果中能够看到调用构造方法的顺序,首先是顶级父类,其次才是子类,顺序从高到低。

相关文章
相关标签/搜索