Java系列(二)之面向对象

来源:互联网 发布:vmware for ubuntu 64 编辑:程序博客网 时间:2024/06/11 08:18

Java系列(二)之面向对象

一、认识面向对象

1、什么是面向对象

(Object Oriented Programming,OOP)面向对象编程是针对面向过程的,面向对象从执行者变成了指挥者。不用自己亲自去做某件事,直接调用对象的方法即可。过程其实就是就是方法,对象是把方法等进行了封装。

2、面向对象的特点

①将复杂的事情简单化。
②面向对象将以前的过程中的执行者,变成了指挥者。
③面向对象这种思想是符合现在人们思考习惯的一种思想。

二、类及成员

1、什么是类?什么是对象?

对象:是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

类:具有相同属性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

2、类的成员

(1)属性:通常会私有化,配有set和get方法。属性是用于存储数据的,直接被访问,容易出现安全隐患,所以,类中的属性通常被私有化,并对外提供公共的访问方法。

成员变量和局部变量   ①成员变量直接定义在类中。局部变量定义在方法中,参数上,语句中。②成员变量在这个类中有效。局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。③成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

(2)方法:对象的行为

(3)构造方法:用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,方法中的一种。
      
特点:
①该函数的名称和所在类的名称相同。
②不需要定义返回值类型。
③该函数没有具体的返回值。
    
注意:
①所有对象创建时,都需要初始化才可以使用。
②一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。
③一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。

构造函数和一般函数有什么区别呢?
①两个函数定义格式不同。
②构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。
 一般函数,是对象创建后,需要调用才执行,可以被调用多次。

什么时候使用构造函数呢?
分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内。

构造代码块和构造函数有什么区别?
构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。代码块执行先于构造方法
构造方法:是给与之对应的对象进行初始化。它具有针对性。

(4)代码块:
{ 代码 } 构造代码块 每次创建对象都会调用,并且在构造方法之前调用
static{ 代码 } //静态代码块 一般在它里面的代码一般做为静态成员变量初始化类第一次被使用(第一次创建该类的对象或者是第一次调用该类的静态属性或静态方法)是被调用,只会被调用一次,而且先于构造代码块执行

(5)成员内部内/静态内部类:

执行先后顺序:静态代码块–>构造代码块–>构造方法
**权限修饰符:**public protected default private
**成员修饰符:**static final

三、面向对象的三大特征

四、面向对象的高级特性

五、抽象类及接口

六、设计模式

原创粉丝点击