您的位置:首页 > 编程语言 > Java开发

Java 面向对象复习

2017-05-18 13:10 169 查看

什么是面向对象,面向过程?

面对对象就是:

把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。

面向过程就是:

自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。

知乎上比较经典比喻

0.面向对象是相对于面向过程的,比如你要充话费,你会想,可以下个支付宝,然后绑定银行卡,然后在淘宝上买卡,自己冲,这种种过程。但是对于你女朋友就不一样了,她是面向“对象”的,她会想,谁会充话费呢?当然是你了,她就给你电话,然后你把之前的做了一遍,然后她收到到帐的短信,说了句,亲爱的。这就是面向对象!女的思维大部分是面向“对象”的!她不关心处理的细节,只关心谁可以,和结果!

1.造轮子与组装轮子

2.面向对象是有个对象会给你做这件事,你只需要调用该对象就能完成这件事。而面向过程却是你得自己做。

4.摇狗尾巴



狗摇尾巴

的区别

摇(狗尾巴)



狗.摇尾巴()

的区别

5.面向过程:写到哪算哪,太长了就封装成一个函数,然后继续往下写

面向对象:写到哪算哪,太长了就封装成一个东西,然后继续往下写。。。
6.

过程式:把数据喂给程序

面向对象:把数据和程序绑定

函数式:程序是一种数据

逻辑式:数据就是程序

@1.封装

封装是面向对象的三大特征之一,实际上在编程过程中在不断运用封装提高代码的质量。

1.可以彻底隐藏方法的内部实现,仅仅提供一个调用的方法给其他人,让其他使用这个类的人不需要关心是如何实现的,只要知道该如何调用就行。

2.隐藏方法的内部实现的好处,可以让保留调用方法不变的同时,随意修改类的结构,而不影响其他人运行结果。

3.封装还会分开类的属性,将类的属性分成私有属性和公共属性。私有属性仅供类自身调用,和公共属性也仅提供一个供外部调用的方法。

4.按照软件的术语,良好的封装是能够减少耦合。

参考:http://www.cnblogs.com/qifengshi/p/5660462.html

@2.继承

extends

继承普通类

继承抽象类 要实现抽象方法

注意三种修饰符 public private protected

@3.多态

封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。

Java实现多态有三个必要条件:继承、重写、向上转型。

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

@4.构造

Java中,所有对象都是创建出来的,对象的自动初始化过程,是由类的构造函数完成的。当程序员没有提供一个默认的构造函数时,编译器会生成一个默认的构造方法。

构造方法可以类似为init();

@5.重载

(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。


重载Overloading是一个类中多态性的一种表现。

(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。


调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。

(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。


@6.抽象

@7.接口

interface

重写方法

@8.集合

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│ └Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

@9.泛型

@10.线程

线程的两种实现

@11.并发

@13.IO

@14.反射

@15.垃圾回收
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: