【Java语言的三大特性】

封装是信息隐藏,通过抽象数据类型将数据和操作封装在一起;继承实现代码复用,子类继承父类的属性和方法;多态允许相同方法在不同对象上有不同行为,实现灵活性。Java语言是面向对象、分布式的,具有健壮性和安全性,并且支持多线程。
1、封装(面向对象编程的核心思想)

首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类 事物的共性(包括属性与方法)归到一个类中,以方便使<span style="color:'orange'>用</span>。

1) 概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构 成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留 一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这 个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提 供的外部接口 (对象名和参数)访问该对象。

2) 好处:(1)实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可 以在需要的时候调用,从而实现了专业的分工。(2)隐藏信息,实现细节。通过控制访问权限可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开放 权 限。

2、继承

就是个性对共性的属性与方法的接受,并加入个性特有的属性与方法

  1. 概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。

  2. 目的:实现代码的复用。

  3. 理解:子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关 系,是is-a的关系,子类是父类更加详细的分类。如class dog extends animal,就可以理解为dog is a animal.注意设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换原 则,即向修改关闭对扩展开放,也就是开-闭原则。

  4. 结果:继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并 不能被继承。

  5. 好处:使用继承思想可以缩短软件开发的周期,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。

另外子类可以写自己特有的。属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法 的重写。

3、多态

多态的概念发展出来,是以封装和继承为基础的。

多态就是在抽象的层面上实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为 个体(具体)的形态特征而实施自己的特征行为。(针对一个抽象的事,对于内部个体又能找到其自 身的行为去执行。)

  1. 概念:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

  2. 理解:子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向 上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全 的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。

Java语言的主要特性

  1. Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使 用Java。

  2. Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的 单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements )。

  3. Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络 应用编程接口(java net),它提供了用于网络应用编程的类会,包括URL、URLConnection、 Socket、ServerSocket等。Java的RMI (远程方法激活)机制也是开发分布式应用的重要手段。

  4. Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保 证。对指针的丢弃是Java的明智选择。

  5. Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻 击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代 码检查。

  6. Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的 字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

  7. Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个 Java平台的任何系统的解释器中运行。(一次编译,到处运行)

  8. Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。

  9. Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子

    (孙)类来创建。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头小福

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值