认识Java

认识Java

本文讲述的下半部分的Java特点和三大特征主要以简单的概念和理解为主,因为在实际中你首先要有这个概念和逻辑,这样在动手实现的过程中才能更加通彻


​ Java是现在最流行的编程语言之一,自身拥有庞大且完善的生态系统,可以实现你的任何需求(但有些时候Java并不擅长的部分会被其它语言顶替)

Java的诞生

​ Java是由SUN(Stanford University NetWork)公司开发的一套编程语言

​ 在1991年SUN成立了Green项目小组对C++进行了改造,开发出了一种称为OAK(Java前身)的面向对象编程语言,去除了C++中不太实用及影响安全的成分。

​ 1995年的互联网蓬勃发展给了OAK机会,SUN公司将OAK更名为Java并在5月23日发布同时推出了HotJava浏览器(第一个基于Java语言及其运行系统而建立的应用)

​ SUN公司将OAK更名为Java的原因是OAK已经被注册商标了,最终使用了提议者在喝一杯Java咖啡时无意提到的Java词语

Java的更新迭代

​ 1996年1月,SUN公司发布了Java的第一个开发工具包“JDK1.0”,这是Java发展历程中的重要里程碑,标志着Java成为了一种独立的开发工具,1997年传入中国(10月SUN公司发布了Java平台的第一个即时编译器JIT)

  • 1997年2月,JDK1.1版本面世
  • 1998年12月8日,第二代Java平台的企业版J2EE(JDK1.2)发布
  • 1999年6月,SUN公司发布了第二代Java平台的三个版本:J2ME(微型版,应用于移动、无线等环境);J2SE(标准版,应用于桌面环境);J2EE(企业版,应用于基于Java的应用服务器),Java 2平台的发布标志着Java的应用开始普及
  • 2000年5月8日,JDK1.3发布
  • 2000年5月29日,JDK1.4发布
  • 2001年9月24日,J2EE1.3发布
  • 2002年2月26日,J2SE1.4发布
  • 2004年9月30日,J2SE1.5发布,并更名为J2SE5.0
  • 2005年6月,公开Java SE 6,各版本更名取消数字“2”。J2EE更名为Java EE、J2SE更名为Java SE、J2ME更名为Java ME
  • 2006年11月13日,SUN公司公开Java的源代码
  • 2009年8月22日,发布JDK7(同年SUN公司被甲骨文公司收购)
  • 2014年,甲骨文公司发布了Java 8正式版(当今主流版本)
  • 2017年7月,甲骨文发布Java SE 9(同年宣布Java将每隔6个月提供一次更新)
  • 2018年3月21日,Java 10发布
  • 2018年9月25日,Java 11发布
  • 2019年3月20日,Java 12发布
  • 2019年9月17日,Java 13发布
  • 2019年3月4日,Java 14发布
  • 2020年9月15日,Java 15发布(目前最新版)

Java语言的特点

​ Java的特点有很多,列举几个我认为比较重要的特点:简单性、面向对象性、分布性、可移植性、多线程性

​ 这里就不对列举的特点一一解答了,只对Java特点的面向对象性进行解读(因为这是Java最基础也是最为关键的),其它的一些特点感兴趣的朋友的可以在网上自行查询相关资粮,文章下方会给出一些优秀的文献链接

面向对象性

​ 在理解Java的面向对象这个概念中,有一句至理名言叫做“万物皆对象”,那怎么理解这句话呢?

​ 对Java语言来说,一切皆可以抽象为对象。这个对象中包含了属性和行为,例如学生,那么这个学生对象具有的属性就有姓名、班级、学生证号等学生角色具备的特征,所以学生对象的行为就更容易理解了,有去学校、学习、读书、写作业等等很多学生的行为,把学生的属性和行为封装为一个整体就可以成为对象了

​ 但是我们也不能仅仅局限于把现实中事物映射为Java对象,把我们的脑洞放开来!因为一些特殊的业务需求,你封装的Java对象的属性不一定有很高的关联性,要根据我们实际的业务需求去做出改变和改动

Java面向对象的三大特征

​ 想要真正的掌握Java的核心,这三大特征必须理解,在实际使用中灵活多变

Java类:类是一个概念,也可以理解为一个模版,它描述这一类对象的行为和状态。比如说学生对象,也可以称为学生类

封装

​ 含义:把同一类事物的共性(包括属性和方法)归到同一个Java类中

​ 用我的理解来说就是,“信息隐藏,提供公有的接口来访问私有的信息”。将数据和基于数据的操作封装隐藏起来,提供一些公共的接口给外界,外界用户无需知道内部的数据和方法(基于数据的操作)的具体实现细节,只需要在外部对公共接口进行调用操作就行

继承

​ 含义:一个类可以继承另一个类,继承的类就具有了另一个类的属性和行为

​ 上面我们有讲到Java的面向对象性中对于对象的理解,那么继承就是对对象的再上一层理解。比如说,人具有学生这个角色,那么就可以看成学生类“继承”了人类,学生类不仅仅只有学生的属性和行为了,继承了人类也具有了人类的属性和行为,人也可以有老师这个角色,那么老师也可以“继承”人类,通俗的理解可以说成一种从属关系

​ 人类是被继承的类,可以称为“父类”,而学生类是继承的类,称为“子类”。在Java中继承是单继承的,一个子类只能有一个父类(多继承可以继承多个类,不建议超过三个),但是父类却不要求被多少个子类继承

多继承:有以下三个类:A、B、C

B类继承了A类,然后C再继承B类,那么C类就具有了A、B两个类的属性和行为

多态

​ 含义:对象的多种形态

​ 多态的三要素(封装和继承为多态做好了准备):

  1. 必须要有子类和父类,具有继承或实现(继承)

  2. 子类必须重写父类的方法(重写)

  3. 父类的引用变量指向子类的对象(向上转型)

    多态举例:

    ​ 有一个打印机类,打印机类中有一个打印行为(方法),彩色打印机类(子类)和黑白打印机(子类)都继承了打印机类(父类)。两个打印机子类重写并调用打印机父类的打印方法,彩色打印机打印出来的是彩色的,而黑白打印机打印出来的是黑白的,即彩色打印机和黑白打印机都属于打印机,也都具有打印行为,但是打印出来的却是不同的。一种事务的多种表现形式称为“多态”

The End!

​ PS:在浏览过程中有任何疑问和建议可以下方留言,讲解不当的地方请积极指出纠正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值