相同:都是一直思想,都是一种思维方式,都是一种思维的角度。
不同:面向对象:关注于“我该如何去实现这个功能”,直接面对的是实现的步骤,面向过程。 面向过程:关注于“我该找谁去实现这个功能”,它并不关注具体对象是谁实现的,只关注这个对象的本身。
面向对象是依托于面向过程的。
1.2 优点可以将复杂的问题简单化,更贴近于生活中人类的思维习惯
面向过程适用于执行者,面向过程适用于管理者。
1.3 如何通过面向对象的思想进行编程?使用类和对象进行编程——类是对象的抽象化,表示图纸或者模板、对象是类的实例化。
先有类才有对象
二、类 1.分析属性:对该类特点的描述
功能:通过使用从成员方法进行定义,不能使用static定义
成员变量和局部变量:作用域不同(成员变量在类中方法外,局部变量在{}中)
2.类名需要见名知意,属性:用成员变量进行定义
功能:不能用static进行修饰,因为一般是动词,不是静态的
3.无需导包java.lang包:在同一个包下的话无须进行包的导入
三、运行程序时内存是如何进行的?1·将.Java文件编译成.class文件,储存在方法区中
2·main方法压栈执行,在栈中为当前main方法开辟栈桢
3·执行main方法中的代码
4·执行new,进行创建对象:
(1)在堆中为new开辟空间,成员变量跟随一起到堆内存中,并赋默认值
(2)调用构造器对对象进行初始化
(3)将地址返回引用:变量指向(代表)堆内存中的地址
5·通过Car为对象,对变量进行赋值,修改的为对象堆内存中存储的属性的值
6·调用方法,压栈执行
7·方法执行完毕,自动弹栈释放内存
8·继续执行main方法
9·执行完毕弹栈释放内存
四、构造器 1.作用
为对象初始化信息
2.使用需跟随new关键字一起使用,不能单独使用
3.定义修饰符 类名(参数列表){
}
4.注意1.构造器不能定义void或者返回值
2.构造器是一种特殊的方法,具有方法重载的特性-->构造器重载
3.如果在一个类中没有显示的定义构造器的话,编译器会自动默认提供一个空的构造器
4.如果存在显示定义的构造器,编译器不会提供任何构造器了
5.构造器中可以存在return,根据需求进行定义,可以实现提前结束构造器,但是不能将返回值带出来
6.构造器帮助实现,在通过new关键字创建对象的同时会为对象初始化信息
7.在以后定义模板类的时候,需要至少提供一个空构造器,并且按需提供带参构造器



