Java之继承与多态

说到继承,在现实生活中,继承一般指的是子女继承父辈的财产。在Java程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如汽车和公交车都属于交通工具,程序中便可以描述为汽车和公交车继承自交通工具,同理,雪佛兰和大众都继承自汽车,而宇通和金龙都继承自公交车。这些交通工具会形成一个继承体系。继承基本上就是避免多个类间重复定义共同行为,可以把相同的程序代码提成为父类。

在Java中,类的继承是指在一个现有的类的基础上去构建一个新的类,构建出来的新的类被称作子类,现有的类被称作父类,子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。



运行结果:



Cars类通过extends关键字继承了Vehicle类,这样Cars类便是Vehicle类的子类。子类虽然没有定义brand属性和move()方法,但是确能访问这两个成员。

1.在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类。

2.多个类可以继承一个父类

3.在Java中,多继承是可以的,即一个类的父类可以再去继承另外的父类。

4.在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另外一个类的子类。

另外,private的成员会被继承,只不过子类无法直接存取,必须通过父类提供的方法来存取(如setter和getter)。

在继承关系中,子类会自动继承父类中定义的方法(不被private修饰的方法),但有时在子类中需要对继承的方法进行修改,即对父类的方法进行重写(Override),需要注意的是,在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。



运行结果:


子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限。

在Java中,子类与父类之间有“是一种”的关系,即子类是一种父类,如汽车是一种交通工具,公交车也是一种交通工具。所以:Vehicle cars = new Cars();也是可以通过编译,即父类引用指向子类对象,使用单一接口操作多种类型的对象,就是所谓的多态。活用多态可以让代码更有弹性及可维护性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值