目录
编程语言的发展
面向机器语言:习惯上称为机器语言,每个机器都有各自的语言对于编写有着较大的困难。
——>面向过程语言:不必考虑每个机器语言,能够按照具体语言的要求编写源文件。如:C语言、Fortran语言。
——>面向对象语言:面对复杂问题是过程语言解决逐渐力不从心,过程语言更加繁杂,可能产生混淆,于是便诞生对象语言。
类
类是Java程序的基本要素。一个Java应用程序就是由若干个类所构成。类是Java语言中最重要的“数据类型”,类声明的变量被称作对象变量,简称对象。
类的目的是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。抽象的关键是抓住事物的两方面:属性和行为。
类的定义包括:类声明和类体。
类体的内容由变量的声明(用来存储属性的值)和方法的定义(方法可以对类中声明的变量进行操作,即给出算法)
三大特性:封装性、继承、多态
封装性
就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。隐藏代码的具体实现可以有效减少程序bug,同时避免被别人轻易破坏。
继承
通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
继承体现了一种先进的编程模式。子类可以继承父类的属性和行为,即继承父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和对于数据的操作。
Java是单继承语言,即每个类只能有一个父类。如果一个类没有指定的父类(没有继承任何类),那么类默认为继承object类。
继承可以大大减少重复工作。
有时父类和子类的方法都是一样的,这时你就可以直接用子类的对象代替基类的对象,这种纯替代关系通常叫做替换原则。
有时,子类会添加一些新的方法,此时就是不完美替换。
多态
就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
有两种意义的多态:一种是操作名称的多态,即多个操作具有相同的名字,但这些操作所接收的消息类型必须不同。实际就是指可以向操作传递不同消息,以便让对象根据相应的消息来产生相应的行为。另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为。