面相对象
面向对象
概述
万物皆对象
特点
找对象,建立对象,使用对象,维护对象的关系
面向对象三大特征
封装、继承、多态
类和对象的关系
类:对现实生活中事务的描述
对象:这些事物实实在在存在的个体
描述:提取对象中共性的内容,对具体的抽象
例子:
现实生活中对象:张三、李四
共同性:学习JAVA功能
映射到JAVA中,描述的就是class定义的类,具体对象就是对应JAVA在堆内存用new创建实体
定义类,就是在描述事物其实就是在描述事物的属性和行为,属性和行为共同成为类中的成员(成员变量和成员方法)
属性对应的是类中变量,行为对应的类中的函数(方法)
class Dog{nString str="1";nvoid pig{nSystem.out.println("Hello World')n}n}
对象的特点
对象的特点在于封装数据,数据包含属性和行为
Car c = new Car();
Car[1] c[2] = new[3] Car()[4];
1.Car类型,是一个类类型变量,类类型变量指向对象
2.这个对象car的名字,是一个变量【句柄】
3.新对象定义方式
4.定义的新对象,是一个实实在在存在的个体
使用:
对象【c】.成员【color】
成员变量和局部变量
作用范围
成员变量:整个类中
局部变量:作用于函数中或语句中
在内存中的位置
成员变量:在堆内存中,因为对象的存在,才在内存中存在
局部变量:存在栈内存中
匿名对象
Car c = new Car();nc.num=5;
等同于
new Car().num=5;
匿名对象使用方式
方式一
当对对象的方法只调用一次时,可以用匿名对象来完成,这样比较简化
new Car().num=6;
如果对一个对象进行多个成员调用,必须给这个对象起个名字
new Car().num=6;nnew Car().color="red";n
需要写成
Car c = new Car();nc.num=6;nc.color="red";
方式二
可以将匿名对象作为实际参数进行传递
public static void main{n show(new Car());n}npublic static void show(Car c){n c.num=3;n String color="black";n}
内存解析
运行完的程序就垃圾了,报废了
public static void main{n Car c = new Car();n show(c);n}npublic static void show(Car c){n q.num=3;n q.color="black";n q.run();n}
内存解析

封装
封装详细介绍