Java基础之java的四大特性
2019-01-05 13:10:15来源:博客园 阅读 ()
上篇文章说了jdk的安装和java环境的配置,这篇文章主要说下java的特性。
首相说下,编程语言分为面向过程和面向对象,而java就是一种面向对象的编程语言。
什么是面向过程编程呢?就是一流程为单位,注重最后的结果。比如小明要从郑州去北京,他第一步就是要先买火车票,然后去火车站乘车,坐火车到北京。这就是面向过程编程,必须每一步都做到,才会有最后的结果。
这样一来面向过程编程的缺点就很明显了:1、不利于程序的维护 2、功能之间有很强的关联性,就是说你每一次改动一步,可能就会涉及到好几步的更改。
那么什么又是面向对象变成呢?就是把一个事物看做一个整体,从事物的属性和功能两方面进行描述
面向对象编程的特点就是:
1、面向对象的编程思想更贴近人的正常思维模式
2、面向对象的编程来源于生活服务于生活
3、面向对象的编程思想中肯定会用到面向过程的思想
4、面向对象的特征:抽象、封装、继承、多态
这就要来了解下什么是对象了。
任何一个具体的事物都是一个对象,在《java编程思想》中讲到:万事万物皆对象
任何一个对象都是唯一的,即使两个相近或者相似的事物都是两个不同的对象,就像世界上找不到两片相同的树叶一样,任何一个对象一旦创建就会唯一的存在。而且对象也不一定是一个切实存在的实物,任何一项法规、政策、虚拟物品等都是一个对象。
抽象
就是对同一个事的共有的属性(特征)和方法(功能/行为)进行抽取、归纳、总结。如:汽车都有轮子、发动机等这些就是汽车的属性,汽车能跑、能载人载物等这些就是汽车的功能。这样就可以把汽车的这些功能与属性抽取出来写在一个类中,供汽车这一类事物使用。
封装
在抽象中将属性与方法写在一个类中就是封装,而封装就是为了保证抽象出来的特征和方法的安全性,封装就是包装的过程,注意封装不是绝对的封装,如果其他程序要获取已经封装好的数据,就要通过程序指定的接口或方法才能获取。
继承
特点:继承要有一定的层次结构,还要具备一定的可传递性
子类继承父类的属性和方法,但是私有属性和构造方法除外
子类除了拥有从父类继承过来的属性和方法外,子类还可以拥有属于自己的属性和方法
在java中只支持单一继承(也就说一个子类只能有一个父类,但一个父类可以有多个子类)
判断两个类的继承关系是否成立,可以通过“is-a”(是一个)开判断
子类不能继承父类的构造方法:父类的构造方法创建的是父类的对象,以为继承要有一定的层次结构,而且要具备一定的额可传递性,如果子类继成父类的构造方法就违反了这一条,所以子类不能继承父类的构造方法。
如何实现继承
在java中通过extends关键字来实现继承,语法
【访问修饰符】 class 子类 extends 父类{ }
继承的作用
提高代码的重用性
一个源文件中可以包含多个类,但只能有一个类带public,而且带public访问修饰符的类的类名要和源文件的文件名相同,main方法也要写在带public的类中。
当创建子类对象时,那么一定会先执行父类的构造方法创建父类对象,然后在调用子类的构造方法创建子类的对象。而且在创建子类的对象时无论是调用有参数还是无参数的构造方法,JVM都会默认的代用父类的无参数的构造方法创建父类的对象。
多态
多态就是指同一种事物在不同的情况下的多种表现形式
多态的表现形式有:方法重写,方法重载,接口和接口的继承,类和类的继承
方法的重载:在同一个类中,有多个方法名相同,但参数列表不同的方法,这就是方法的重载,参数列表的不同包括:参数个数,类型,顺序的不同。普通方法和构造方法都可重载,方法重载会根据传递的参数来决定调用哪个方法,返回值不同,其他都相同的情况是构不成方法的重载
方法的重写:发生在子类继承父类的关系中,父类中的方法被子类继承,方法名,返回值类型,参数完全一样,但是方法体不一样那么说明父类中的该方法被子类重写了。
目的:当父类中方法,无法满足子类的需求时,那么子类可以对父类的方法进行扩展
注意:方法重写子类的访问修饰符的范围不能缩小
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash