*面向对象* :
面向过程与面向对象之间的区别 :
都是一种思想,思维方式,思考问题的角度
面向过程 : 关注"我该如何实现",然后按照步骤一步一步实现
面向对象 : 关注"我该找谁来实现" '谁'就是对象,只关注对象不关注对象是如何实现的
面向对象是要依托面向过程的
面向对象的优点 :
1.面向对象将复杂的问题简单化
2.面向对象更贴合与现实生活中人们的思维角度
3.管理者更贴合与面向对象,执行者更贴合与面向过程
类与对象的概念
如何使用面向对象思想进行编程 :
将程序与现实生活紧密联系,提供了2个概念 : 类 对象
类 : 定义一系列对象的共性,定义图纸|模板
对象 : 通过对象描述现实生活中真实存在的事物|实例
根据类创建对象
类 :
工具类|测试类
实体类|模板类|图纸类|javabean|pojo类
实体类的定义 :
分析 :
1) 属性 : 手机都有哪些特点|特征?-->属性 --> 名词 品牌,颜色,尺寸,价格 --> 成员变量
2) 功能 : 手机都具有哪些能力? --> 功能 --> 动词 打电话,打游戏,聊天,上网... -->成员方法(不被static修饰的方法)
public class 类名{
//属性
修饰符 数据类型 变量名 = 赋值;
...
//功能
修饰符 返回值类型|void 方法名(参数列表){
方法体;
}
....
}
注意 :
成员变量只声明不赋值存在默认值 :
整数0 小数0.0 布尔false 字符:空字符 引用数据类型:null
面向对象内存分析
构造器
构造器|构造方法|构造函数 :
特殊的方法
new 关键字做的事情 :
1.在堆中为对象开辟内存空间,成员变量跟随对象进入到堆内存中并默认值
2.调用构造器为对象初始化信息
3.将地址返回给引用
作用 :
为对象初始化信息的(为对象成员变量第一次赋值)
使用 :
跟随new一起使用
定义 :
修饰符 类名(参数列表){
初始化的代码;
}
不需要返回值类型,也不需要void
构造器的名字与类名保持一致
可以根据需求定义return,但是不能带出返回值,只能为提前结束方法的作用
注意 :
如果没有显示定义构造器,编译器会默认为类型提供一个空构造(空参)
如果类型中存在显示定义的构造器,编译器不会再提供任何构造器
构造器是特殊的方法,具有方法的重载特性-->构造器重载
以后定义实体类,至少提供一个空构造,根据需求提供带参