Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 2 column 5
---
title:Java基础05
tags: 继承
grammar_cjkRuby: true
---
继承是描述类与类之间的所属关系,通过类的继承可以形成一个关系体系注意:java的class是单继承不是多继承;因为子类可以继承父类的所有功能,如果有两个父类的功能名称都相同,那么子类继承后调用的方法到底是哪个类我们就不 清楚
- 一个文件中可以同时声明多个类,但是最多只能有一个public的类,如果是public则必须和文件名称保持一致
- 格式为: class 子类 extends 父类{}
- 子类拥有父类的成员变量和方法
- 父类的成员变量非私有,子类才能直接继承
- 如果子类定义了相同的成员变量,那么子类用的是自己的,而不是父类的
- 如果子类要使用父类的成员变量,使用super关键字进行调用,格式为 super.成员变量名称
- 父类的成员方法非私有,子类才能直接继承
- 如果子类定义了父类相同的方法,叫做方法的重写,当子类对象进行方法调用的时候优先调用子类的方法,如果子类中没有就回去父类中
- 如果我们子类重写父类方法的时候,使用eclipse的提示功能让系统帮我们生成重写方法的时候会出现@Override,是为了增强编译性的,@Override下的方法父类必须有,如果没有就报错
- 如果子类要使用父类的成员方法,使用super关键字进行调用,格式为 super.方法名称(方法参数);
注意:子类重写父类的方法,权限必须要大于等于父类才行,一般我们写的方法的修饰符都是public