9.28-面向对象
核心思想
面向对象是一种常见的思想,符合人们的思考习惯
面向对象的出现将复杂的事情简单化
面向对象的出现将我们的身份由执行者变为了指挥者
面向对象需要关注两个重点
有没有这个对象
这个对象中具不具备这样的功能
面向对象开发(仅了解)
就是不断的创建对象,使用对象,指挥对象做事情,有对象就找这个对象做事情,没有对象就自己创建一个对象,使其拥有这样的功能;其他人也可以使用这个对象。
面向对象设计(仅了解)
其实就是管理和维护对象之间的关系
面向对象的特征(重点)
封装、继承、多态、抽象
类与对象之间的关系
用Java语言对现实生活的事物进行描述,需要通过类的形式来体现。
对于事物的描述通常只关注两个方面:一个是属性,一个是行为(功能/方法);只要明确该类事物的属性和行为定义在类中即可。
类(class)
某一类事物的描述(属性/行为)
对象
该类事物中一个实实在在的个体(实体/实例)
在Java中,通过new关键字来创建
成员变量和局部变量有什么区别
成员变量定义在类中,整个类都可以访问
变量定义在方法、语句、局部代码块中,只在所属区域是有效的
成员变量存储在堆内存的对象中;局部变量存储在栈内存的方法中
成员变量随着对像的创建而存在,随着对象的消失而消失;局部变量随着所属区域的执行而存在,随着所属区域的结束尔释放。
成员变量都有默认初始化值;局部变量没有默认初始化值
例子
内存图



private关键字
权限修饰符,权限为私有;用于修饰成员;私有的内容只在本类中有效
例子
封装思想
将属性私有化,对外提供公有的访问方式
注意,将属性私有化仅仅是封装思想的一种体现
构造方法(构造器constructor)
定义构造器的特点
构造器的名称要与类名一致(包括大小写)
不需要定义返回值类型
没有具体的返回值
构造器定义在类中
作用
给对象进行初始化(给对象中的属性进行赋值)
例子
注意
默认构造器的特点
一个类中多个构造器是以"重载"的形式来体现的
重载:同一个类中方法名相同,但是参数列表不同
this关键字
用法一
当一个类中,成员变量和局部变量重名时,可以使用关键字this去区分成员变量
用法二
this还可以在构造器中调用本类的其他构造器
作用
代表当前对象,也就是所在方法所属对象的引用。
简单来说,哪个对象调用了this所在的方法,this就代表哪个对象
例子-例子一接续
最后更新于