黑马程序员技术交流社区
标题:
18期继承技术贴
[打印本页]
作者:
高飞
时间:
2018-8-28 17:05
标题:
18期继承技术贴
继承是指多个类具有共同的属性(成员变量)与行为(成员方法)的时候,将这些共同的部分抽取出来定义到一个公共的类中,其他及各类可以与这个公共的类形成继承关系,从而在多个类中不需要重复定义公共部分。这个公共的类就是父类,也称为超类或者基类,其他的类就是子类。子类可以直接访问父类的非私有化成员变量,访问父类的私有化成员变量可以使用super.get()方法。
1、 在java中,继承具有以下特点:
1.只支持单继承,即一个子类只允许有一个父类。父子类关系就像师徒关系而不是父子关系
2. 子类可以拥有父类的属性和方法,不使用this、super等关键字进行调用时,调用顺序局部变量优先于当前类成员变量优先于父类成员变量
3. 子类可以拥有自己的属性和方法,子类中可以使用super调用了父类的方法,那么父类方法也要执行
4. 子类可以重写覆盖父类的方法
2、Java继承的优点:
1. 提高代码复用性
2. 父类的属性方法可以用于子类
3. 可以轻松的定义子类
4. 使设计应用程序变得简单。
3.父子类中注意事项
1.构造方法中子类中所有的构造方法默认都访问父类中无参构造,每个构造方法的第一行是super();或者super(参数列表);如果把这两行代码放在非第一行位置会报错
2.重写与重载的区别
重写:子父类之间,方法完全相同(返回值、方法名、参数列表),重写时,子类的方法的访问权限要大于或者等于父类成员方法的访问权限
重载:同一个类中,方法名相同,参数列表不同,与返回值无关
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2