Java面向对象的三个特征与含义(封装 继承 多态)

三大特征是:封装、继承和多态。

封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在java中能使用private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问该对象的属性和行为进行限制。

是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。这非常类似大自然中的物种遗传。

多态不是很好解释:向于使用java中的固定用法,即overriding(覆盖)和overload过载)。多态则是体overriding(覆盖)上,而overload过载不属于面向象中多的范畴,因overload过载)概念在非面向象中也存在。overriding(覆盖)是面向象中的多,因overriding(覆盖)是与系,是面向象所特有的。多是指父象中的同一个行能在其多个子象中有不同的表。也就是象可以使用重写父象中的行,使其有不同于父象和其它子象的表就是overriding(覆盖)。

其中继承和封装我们平时用的做广泛,但是多态用到的却不多,这是因为多态是一种建立在不同设计模式基础之上的特征。要使用多态,需要先掌握几个常见的设计模式。在讲解多态之前先普及一下Java变量类型的划分,这有助于我们理解多态。


这里要重点讲解一下引用类型的变量。引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定;运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态,下面是一个例子:


注意:引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法。因此,编写Java代码时,引用变量只能调用声明该变量时所用类里包含的方法。例如,通过Objectp =new Persion()代码定义一个变量p,则这个p只能调用Object类的方法,而不能调用Persion类里定义的方法。

 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值