类、对象、方法
文章目录
面向过程与面向对象
软件分析、设计与开发的各个阶段
面向对象编程——oop
面向过程编程——pop
都是解决问题的一种思维方式
面向过程——执行者
面向对象——设计者
类与对象
面向对象编程
定义类
一个自定义类型中可以包含所有数据类型的数据
实例化对象及属性赋值
方法
ctrl + P 可以查看参数类型
- 形参——按照这种形式传递的参数(定义方法的参数)
- 实参——给形参赋实际的值(调用时赋值)
默认值的赋值
- 局部变量——声明后必须赋值才能使用
- 全局变量、属性、成员变量——程序运行时会自动赋予默认值
方法重载
允许一个类中出现的同名方法,但这些方法中的参数列表必须是不同的
-参数列表不同表示:
- 参数类型不同
- 参数个数不同
- 参数顺序不同
且与返回值无关
并没有提高效率或者节省代码
构造方法
- 方法名与类名保持一致
- 默认在程序员没有创建默认方法时,程序会默认生成一个无参构造器,若程序员有定义任何的构造方法,则不会再有默认的无参构造器,所以在自定义无参构造后,一般都会在手动创建无参构造器
- 构造方法没有返回类型
- 构造方法本质上仍然是方法,是一种可以用来创建对象的特殊方法
- 使用 new 调用无参方法
this 关键字
由于 java 的就近原则,导致自定义的实体类中的全局变量与构造方法的局部变量(形参)同名时,会导致将形参获得的值一直赋给自己,导致赋值给全局变量时失败
对象创建的过程与this的本质
构造方法也是创建java对象的重要途径,
通过new关键字调用构造器时,
构造器也确实返回该类的对象,
但这个对象并不是完全由构造器负责创建。
创建一个对象分为如下四步:
- 分配对象空间,并将对象成员变量初始化
- 若给属性设置了初始值,则完成了对属性的初始值赋值
- 执行构造方法
- 返回对象的地址给相关的变量
所以this的本质就是“创建好的对象的地址”
由于在构造方法调用前,对象已经创建,
因此,在构造方法中也可以使用this代替“当前对象”
this()表示调用该类的无参构造方法
this关键字的作用
- 使用this关键字区分成员变量与局部变量
- 在构造方法中调用其他构造方法,必须为有效代码第一行,普通方法中不允许调用构造方法
- 在普通方法中调用普通方法,无位置要求
方法参数的注意事项
实参经传参传递值有两种方式
- 基本数据类型——传递值
- 引用数据类型——传递地址