继承和多态
继承的基本概念:
继承是面向对象的三大特性之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。
集成式软件课重用性的一种表现,新类可以在不增加自身代码的情况下,通过现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。此时新类称为子类,现有的类称为父类。
继承最基本的作用就是使得代码可以重用,增加软件的可扩展性。
Java中只支持单继承,即每个类只能有一个直接父类。
语法格式
[ 访问修饰符 ] class< SubClass > extends < SuperClass >{
}
在Java中,继承通过extends关键字实现,其中 SubClass 称为子类,SuperClass 称为父类或基类。
访问修饰符如果是public,那么该类在整个项目中可见。
若不写访问修饰符,则该类只在当前包中可见。在Java中,子类可以从父类中继承以下内容:
1.可以继承public和producted修饰的属性和方法,不论子类和父类是否在同一个包中
2.可以继承默认访问修饰符修饰的属性和方法,但是子类和父类必须在同一个包里。
3.无法继承父类的构造方法。
使用继承和重写实现部门类及子类
1.使用继承定义部门类和子类
2.使用super关键字调用父类成员
3.实例化子类对象
(1)在Java中,一个类的构造方法在创建该类的对象(实例化)
(2)创建该类的子类的对象
4.Object类
Object类是所有类的父类。在Java中,所有的Java类都直接或间接地继承了java.lang.Object类。
方法重写
方法重写必须满足以下要求:
1、重写方法和被重写方法必须具有相同的方法名
2、重写方法和被重写方法必须具有相同的参数列表
3、重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类
4、重写方法不能缩小被重写方法的访问权限
方法重载和方法重写的区别与联系
1.重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关
2.重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同