面向对象继承补充

面向对象有三大特性:封装、继承、多态。
1.封装:即是把函数或者工具类的实现过程隐藏起来,可以通过创建对象或者实现接口来使用已定义好的功能。Java API是一个很好的例子。
2.继承:假设在描述某些事物的时候我们会发现他们具有许多相同的地方,例如鸟类,每种鸟都有眼睛,嘴巴,都会吃东西等,这些相同的地方可以把他们抽取出来定义成一个鸟类,当需要描述多种鸟时就不用再重复定义这些共性,直接继承鸟类即可。
注意:Java的继承不是像C++一样,Java只存在单继承,使用extends ,在调用子类构造方法时会调用父类无参构造方法,若父类没有无参构造,注意为其添加无参构造方法。super()方法可调用父类方法或变量。继承提高了程序的复用性、扩展性,也是 多态特征的前提。
3.多态:即是相同的行为不同的实现,多态的实现必须存在三个条件:继承、重写、父类引用指向子类对象。多态提高了扩展性,可以添加新的实现而不会对已有的实现产生影响。方法的重载与重写就是方法多态性表现;多个子类就是父类中的多种形态
抽象类:当多个类都存在相同方法名,但是其实现方式却不相同时可以将它们进行抽取,定义成一个类,只有方法名没有具体实现,abstract class 类名{ abstract void…方法名();}
注意:仅实现抽象类的部分功能的类还是抽象类。抽象类除了不能被实例化外和正常类没什么区别。
接口:interface 接口名{方法1;方法2…},默认修饰符为 public ,不能用其他修饰符修饰接口。
接口与抽象类的区别:接口可以被实现多个中间用逗号隔开,使用 implements 关键字实现接口。如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值