一.面向对象
面向对象与面向过程区别:
都是一种思想,思考问题的角度,思维方式
面向过程: 关注"我应该如何实现?“按照步骤一步一步实现就可以了
面向对象: 关注"我应该找谁完成?” 这个谁就是对象,对象如何完成不关注.只要结果
面向对象依赖于面向过程
面向对象思想的好处:
1.较符合生活中人们的思维
2.面向对象更加贴合管理者的思维角度,而面向过程更加贴合执行者的思维角度
3.面向对象可以将复杂的问题简单化
使用面向对象进行编程:
思想就是要让程序与现实生活联系起来
主要两个概念
类:定义一系列事物的共性–>相当于图纸|模板|模具
对象:表示显示生活中的具体事物–>实例
根据类构建对象,比如先有图纸才能进行制造,如何制造?根据图纸执行即可
自定义类:
自定义的类也是引用数据类型
举例分析:
1.手机能做什么? 功能能力–>动词 --> 打电话,聊天,打游戏,上网… -->成员方法 : 目前不用static修饰的方法
2.手机有什么特征|特点? 属性–>名词 --> 尺寸 价格 颜色 品牌 … -->成员变量
模板:
public class 类名{
//成员变量–>特征
修饰符 数据类型 变量名 = 赋值;
//成员方法–>功能
修饰符 返回值类型|void 方法名(参数列表){
方法体;
}
}
使用自定义类:
1.导包
不需要导包的类:
1.同包下的类
2.java.lang包下的内容不需要导包
2.创建当前引用数据类型的变量|应用–>创建对象
引用数据类型 引用=new 引用数据类型();
new 关键字 具有创建对象的能力
3.使用成员
成员变量 引用.成员变量名
成员方法 引用.成员方法名(参数列表);
成员变量不赋值存在默认值
局部变量不赋值无法使用,不存在默认值
成员(变量|方法)是属于对象的,必须跟随对象进行使用
成员位置:类中方法外就是成员位置
构造器
new关键字做的事情:
1.在堆中为对象开辟一块内存空间,并且同时成员变量跟随对象进入到堆内存并附默认值
2.调用构造器为对象初始化信息
3.将对象的地址返回给引用
造器|构造方法|构造函数:
特殊的方法
作用:
只能为对象初始化信息(为成员变量第一次赋值),不是用来创建对象
使用:
只能跟随new关键字一起使用
定义:
修饰符 类名(参数列表){
…
}
不需要返回值与void
可以根据需求定义return,提前结束构造器的作用
注意:
如果一个类中没有显示定义构造器,编译器会默认为类提供一个空构造(没有参数的构造器)
如果一个类中有显示定义构造器,编译器不会为我们提供任何构造器
构造器也是特殊的方法,可以构成方法的重载
如果创建对象的同时就能够确定成员的初始值,调用带参构造为对象初始化信息
如果创建对象的时候不能确定成员变量的值,调用空构造为对象初始化信息,确定属性值的时候再赋值