子类与父类
1.子类可以继承父类的属性和方法,但是子类不继承父类的构造方法
2.类之间的继承关系是由已经存在的类创建新类的机制,可以有效的实现代码的重复使用
3.可以先定义一个共有属性的一般类**(父类或超类)**,在此基础上定义新的类(子类)
类继承的语法:
(在类的声明中,使用关键字extends来声明一个类是另一个类的子类)
继承的结构:
4.如果一个类的声明中没有extends关键字,则这个类被系统默认是Object类的子类,Object类是java.lang中的类
例如:
继承的性质:
1.如果子类继承父类的成员变量和成员方法,就可以将它们作为已用,就像是在子类中定义的一样
2.子类如果没有继承父类的某些成员变量或成员方法,则**子类无法对它们进行访问或调用**
在子类中调用父类的成员变量
当成员变量同名时:
继承中父类的成员变量与子类的成员变量同名时:
在子类中,父类的成员变量将会隐藏,使用的是子类的成员变量
方法的重写
(方法的重写也是多态的一种表现)
重写的性质:
1.方法的重写是指子类可以改写父类方法所实现的功能,但是子类重写的方法必须与父类中对应方法有相同的名称、返回类型和参数列表。
2.如果父类中的方法被子类重写,则子类的对象调用这个方法时,实际运行的是子类中改写之后的方法,父类中相应方法被隐藏起来。
关键字super
(关键字super代表当前对象的父类部分,个人理解就是用来调用父类中的东西)
super的两个用法
1.子类使用super关键字来调用父类中的构造方法
2.子类使用super来调用(操作)父类中的被子类隐藏的成员变量和成员方法