Java学习之继承基本介绍和实例方法,java学习继承实例
Java学习之继承基本介绍和实例方法,java学习继承实例
继承基本介绍
继承概念不做过多介绍。这里只介绍继承使用过程中需要注意的地方。继承的基本语法格式如下,用关键字extends来表示继承关系。
class 父类{} class 子类 extends 父类{}
注意:
Java中只允许单继承,不允许多重继承,一个子类只能继承一个父类,但是允许多层继承,如
class A{} class B{} class C extends A,B{}//这种做法是错误的,属于多重继承,Java不允许,这里与C++有点不同,需要注意
class A{} class B extends A{} class C extends B{}//正确的使用,属于多层继承。此处与C++一致,没有难点
子类不可以调用父类中private属性和方法,可以调用非私有的属性和方法;如果需要调用私有属性时,可以通过在父类中getter或setter来实现。
子类对象实例化
子类对象在实例化之前,必须要先调用父类的构造方法,再调用子类的构造方法,即实例化过程如下(摘自Java开发实战经典)
一个形象的比喻就是先有父亲再有孩子。但是我们在设计子类时,不需要考虑这些,只需要知道这个原理即可。因为Java会在子类的构造方法中隐藏使用super()方法来调用父类的构造方法。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMj63vbeouLLQtDwvaDI+DQo8cD60y7Sm0OjSqtei0uLX08DguLLQtLXEt723qMv5v6q3xbXEyKjP3tKqtPPT2ri4wOC1xMioz96jrLfx1PKx4NLru+Gz9rTtPC9wPg0KPHA+w+bK1L/JxNzOyrW9zsrM4qO6yOe5+7i4wODW0Le9t6jKx3ByaXZhdGXIqM/eo6zX08Dg1tDJ+cP3zazR+bXEt723qKOstqjS5c6qZGVmYXVsdMioz96jrMTHy+O4stC0wvCjv7TwsLijurK7y+O4stC0oaPXotLiv7TPwsPmtcS0+sLrxqy2zqO6PC9wPg0KPHByZSBjbGFzcz0="brush:java;"> class Person{ private void print(){ System.out.println("father's print method"); } public void fun(){ this.print(); } } class Student extends Person{ void print(){ System.out.println("child's print method"); } } class public Demo{ public static void main(String args[]){ new Student().fun();//输出father's print method } }
这段代码可以说明定义为private的父类方法,在子类中定义为default是不算覆写的
super关键字
super关键字的作用类似于this的其中调用构造方法的用法,只是super是调用父类的构造方法,同时super也可以用来调用父类中普通的方法,下表给出了this 和 super具体的区别(摘自Java开发实战经典),仔细理解,面试可能会被问到
用户点评