java 过度封装_七:Java之封装、抽象、多态和继承

本文章介绍了关于Java中的面向对象封装、抽象、继承、多态特点

Java面向对象主要有四大特性:封装、抽象、继承和多态。

一、封装

封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的总体,也就是将数据与操作数据的源码进行有机的结合,形成“类”,当中数据和函数都是类的成员。

在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,当中包括属性和行为(在Java中就是方法)。就好像人类,能够具有name,sex,age等属性,同一时候也具有eat(),sleep()等行为,我们在行为中实现一定的功能。也可操作属性,这是面向对象的封装特性.

封装隐藏了类的内部实现机制,能够在不影响使用的情况下改变类的内部结构。同一时候也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的仅仅是它的訪问方法。封装的目的是增强安全性和简化编程。使用者不必了解详细的实现细节,而仅仅是要通过 外部接口,一特定的訪问权限来使用类的成员。

二、抽象

抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中。所以抽象在面向对象语言是由抽象类来体现的。比方鸟就是一个抽象实体。由于抽象实体并非一个真正的对象,它的属性还不能全然描写叙述一个对象,所以在语言中体现为抽象类不能实例化。

三、多态

多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也能够代码重用。

程序中定义的引用变量所指向的详细类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序执行期间才确定。即一个引用变量倒底会指向哪个类的实例对象。该引用变量发出的方法调用究竟是哪个类中实现的方法,必须在由程序执行期间才干决定。由于在程序执行时才确定详细的类,这样。不用改动源程序代码,就能够让引用变量绑定到各种不同的类实现上,从而导致该引用调用的详细方法随之改变,即不改动程序代码就能够改变程序执行时所绑定的详细代码。让程序能够选择多个执行状态,这就是多态性。

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种 表现。重载Overloading是一个类中多态性的一种表现。假设在子类中定义某方法与其父类有同样的名称和參数,我们说该方法被重写 (Overriding)。子类的对象使用这种方法时,将调用子类中的定义。对它而言。父类中的定义如同被“屏蔽”了。假设在一个类中定义了多个同名的方 法,它们或有不同的參数个数或有不同的參数类型,则称为方法的重载(Overloading)。Overloaded的方法是能够改变返回值的类型。方法的重写Overriding和重载Overloading是Java多态性的不同表现。

多态中的两种类型转换:

① 向上类型转换(upcast)(上转型):将子类型转换成父类型。对于向上类型转换。不须要显示指定:

Parent p = newChild();

② 向下类型转换(downcast)(下转型):将父类型转换为子类型。对于向下类型转换,必须要显示指定,使用强制类型转换:

Parent p = newChild();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值