类与对象 a) 面向对象概述 l 面向对象概念 面向对象是Java的基本特征。深刻地理解面向对象是设计良好Java软件项目的基础。 面向对象(Object Oriented,OO)是软件开发过程中使用的一种思维方式 。将功能封装进对象,强调具备了功能的对象,不关注过程。 l 面向对象特点: 是一种更符合人们思考习惯的思想 可以将复杂的事情简单化 将程序由执行者转换成为指挥者 l 面向对象特性: 封装 继承 多态 b) 类的基本概念 具有相同特征(属性)和行为(功能)的一类事物的抽象。 注意:实际上所属关系是直接属于类的均称为成员,如成员变量、成员方法、后边学习的成员内部类,并不单指成员变量。 类在Java中代码的体现形式: l 使用class(类)来抽象一个现实生活中的事物 l 定义成员变量对应事物的属性,用private修饰,提供get/set方法 l 定义成员方法对应事物的功能 l 定义格式: publicclass 类名{ private数据类型 变量名1; private数据类型 变量名2; …其他成员变量 public返回值类型 方法名(参数类型 参数名,参数类型 参数名2…) { 方法体; } 每个属性对应的get/set方法 } c) 成员变量 直接定义在类中的变量称为成员变量,在面向对象思想设计上,是类的组成部分。 成员变量与局部变量辨析: l 成员变量 • 定义位置:类中,整个类中均可以访问。 • 内存:成员变量随着对象的建立而建立,存在于对象所在的堆内存中。 • 默认值:成员变量有默认值。 • 回收:随着对象的回收而回收。 l 局部变量 • 定义位置:定义在局部范围,如方法内,语句内等。 • 内存:局部变量存在于栈内存中。 • 默认值:没有默认值。 • 回收:随着作用域结束而回收,通常为语句或方法范围。 l 变量访问原则:就近原则 注意:成员变量的访问不再使用从前的方式,而使用调用属性对应的get/set方法的方式。即类的使用不再包含直接使用对象访问属性,均是在调用方法。 d) 成员方法 成员方法一般可分为两类 l 没有业务的属性get/set方法,与属性对应 l 有业务的普通方法,属于类的功能 e) 类与对象的关系 类是抽象概念,对象是类的具体实例。 一个类可以有多个对象,一个对象只属于一个类。 可以说创建对象是类最主要的使用方式。 private关键字 private关键字是私有化修饰符,访问权限修饰符的一种,只有在本类中才能访问的成员,是封装类中成员变量最常用的修饰符。 用于修饰成员,包括成员变量与成员方法。 封装 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装。 封装的结果是一个同时带有特征和行为的数据类型。 我们前边所完成的水果项类的定义就是封装的一部分。同样,成员变量与成员方法以及对应的private修饰,公共的get/set方法均为封装的一部分。 this关键字this一般出现在类的一个方法的定义当中,代表当前对象的引用。我们通常用其将本对象中的成员与其他作用域成员区分开来。 |