面向对象和面向过程
区别
面向过程事物比较简单,可以用线性的思维去解决
面向过程;"关注实现过程|步骤,需要通过几步完成?"然后一步一步执行
面向对象事物比较复杂,用简单的线性思维无法解决
面向对象 : "关注我该找谁来完成 ?"实现步骤不关注,只关注这个"谁",他就是对象
面向对象是依托于面向过程的
共同点
都是解决问题的一种思维方式
面向对象的优点:
1.更贴合于显示生活中人们的思考角度
2.面向对象更贴合生活中管理者,面向过程更贴合与执行者
3.将复杂的问题简单化
以面向对象的思想进行编程 :
将程序与生活紧密联系
类 : 描述图纸|模板
对象 : 描述生活中真实存在的事物|实例
先有类,才能根据类创建对象
模板|图纸类|javabean的定义:
public class 类名{
//属性--> 成员变量
public 数据类型 属性名 = 赋值;
public 数据类型 属性名;
//功能 --> 成员方法
public 返回值类型|void 方法名(参数列表){
方法体;
[return 返回值;]
}
}
如何使用
1.导包
不需要导包的类 :
1)java.lang包下的类
2)同包下的类
2.创建类型的引用|创建对象 new具有创建对象的能力
引用数据类型 引用 = new 引用数据类型();
3.使用
使用属性(赋值|获取值)
引用.属性名
使用功能
引用.功能名字(参数列表)
类与对象的概念
内存分析
内存分析图
内存分析步骤
1.javac编译成class文件,class文件加载到内存的方法区中
2.虚拟机调用main方法压栈执行,在内存栈中开辟一个栈桢
3。分步执行方法中的代码
4主方法所在的类需要模板时,在堆内存中创建对象
5.把堆内存中对象的地址附给引用它的变量,引用这个变量=创建的对象的地址‘’ 或者说这个变量指向这个地址,代表这个地址
6.建立联系之后就可以为这个模板中的属性赋值
7.调用对象中的功能,把功能也就是成员方法压栈执行,执行代码,
在成员方法中的成员变量指的是调用成员方法的对象的内存空间的成员变量
8.run方法执行完毕,立刻弹栈释放内存
9.main方法执行完毕弹栈,和对象断开联系
经典案例