类的封装继承与多态

类的封装继承与多态

类的封装
可以用private来封装类的属性和方法。一般来说设计较好的程序的类中的属性都是需要封装的。此时需要设置或取得属性值,则只能通过setXxx()、getXxx()方法,这是有个,明确且标准的规定。

类的继承
对于面向对象的程序而言,精华在于类的继承可以以既有的类为基础,进而派生出新的类。
在Java中支持类的单继承和多层继承,但不支持多继承,即一个类只能继承一个类,而不能继承多个类。
继承的格式如下:class 子类名 extends 父类
子类不能继承父类的私有属性,但是如果子类中公有的方法影响到了父类的私有属性,那么私有属性是能够被子类使用的。或者说:Java继承只能直接继承父类的公有属性和方法,而隐含(不可见的)继承了私有属性。

super关键字的使用
super主要的功能是完成子类调用父类中的内容,也就是调用父类中的属性和方法。
(1)调用父类中的构造方法“super(“张三”,25)”此时只能放在第1行。
(2)调用父类中的属性:super.父类中的属性。
(3)调用父类中的方法:super.父类中的方法()。

覆写:当一个子类继承一个父类,而子类中的方法与父类中的方法的名称、参数个数、类型都一致时,就称子类中的这个方法覆写了父类中的方法。同理,如果子类中重复定义了父类中的已有的属性,则称此子类中的属性覆写了父类中的属性。

类的多态
重载的最终效果就是调用同一个方法名称,却可以根据传入参数的不同而得到不同的处理效果。是多态的一种体现。
对象的多态性:即子类实例化对象可以转换为父类实例化对象。

类的多态实例
1、向上转型
父类对象通过子类对象去实例化,实际上就是对象的向上转型。向上转型不需要进行强制类型转换的,但是向上转型会失去精度。
2、向下转型
父类的对象可以转换为子类对象,这时必须进行强制的类型转换。
例子:
将跑车说成车就是向上转型,失去细节。
将车说成跑车就必须增加细节,所以需要进行强制的说明。
所以向上转型可以自动完成,向下转型必须进行强制类型转换。
注:并非全部的父类对象可以强制转换为子类对象。
Person p = new Person();
//将p对象向下转型
Student s = (Student)p;
这样会报错,因为p不知道s是不是自己的子类对象。
将Person p = new Person();修改为Person p = new Student();
相当于用子类实例化父类,这样父类就知道自己有这么一个子类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值