Java面向对象详解(上)
- 🪅面向对象与面向过程的区分
- ✨面向过程:
- ✨面向对象:
- 🪅类是什么?
- 🪅对象是什么?
- 🪅类的结构
- 🪅类中方法:
- ✨成员方法与构造方法:
- 🪧方法的重载(覆盖)与重写:
- 🪀重载:
- 🪀重写(覆盖):
- 🪅变量的划分:
- 🪀按类型划分:
- 🪀按位置划分:局部变量和成员变量
- 🎀局部变量的介绍及生命周期
- 🎀成员变量的介绍及生命周期
- 🪅类信息的存储:
🪅面向对象与面向过程的区分
✨面向过程:
面向过程的思想是为了解决一个问题。其实就是遇到了一个大问题,一步步实现(利用函数)解决问题的方法,最终解决问题。
(例子:🍆做饭——>1.烧水2.切菜3.炒菜······实现一系列方法来解决这个大问题)
✨面向对象:
面向对象的思想是为了解决一类问题。(以便降低代码重复性,增强代码复用性)。
面向对象其实就是在面向过程的基础上进行了升级。它们是相辅相成的。首先对整体进行宏观分类提取公共属性,再具体实现其类内部的属性方法(具体实现还是落实到面向过程的思想)
🪅类是什么?
类是一个抽象的概念,它相当于一个模板
(设计图纸)。(以下面汽车为例:)它具有汽车🚕公共的属性(比如:都有四个轮子,都会跑,都会停车....)
,如果我们把这些属性放到一个类里面,每次设计创造汽车的时候就不用重新定义
其公共属性啦,增强了代码复用性(减少了代码的重复)。
🪅对象是什么?
对象就是生活中实实在在的实例个体,它们看得见摸得着,就是图片中按照图纸设计出来的每一辆汽车🚕。
🪅类的结构
✨成员变量
✨方法
✨构造方法
✨内部类
✨块
🪅类中方法:
✨成员方法与构造方法:
l✨ 成员方法:成员方法是定义在类中。
语法格式:
修饰符 返回值类型 方法名( 参数列表) {
方法体语句;
[return 返回值]
}
✨ 构造方法:用来初始化对象的方法
构造方法名与类名相同
,且没有返回值,且不需要使用void修饰。
• 作用:在构造方法中为创建的对象初始化赋值,
• 在创建一个对象的时候,至少要调用一个构造方法。
(每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效,除非显式的声明出来
)
🪧方法的重载(覆盖)与重写:
🪀重载:
在java中允许有方法名相同的方法,这个现象叫做方法的重载。
重载的区分
:
🎀方法所传的(形参)参数类型不同
🎀方法所传的(形参)参数数量不同
🎀方法所传的(形参)参数数量相同时,形参的顺序不同
🪀重写(覆盖):
起因1
:子类继承了父类的方法,但是如果其中父类的方法太简略了,无法让子类更加适合的使用,就需要对父类方法进行重写。
起因2
:如果父类为抽象方法,则必须在子类中重写方法才能调用。
起因3
:如果是接口,则实现类(也可以理解为‘不规范的子类’)需要重写接口中的抽象方法。
🪅变量的划分:
🪀按类型划分:
作者之前总结的变量划分详细内容
🪀按位置划分:局部变量和成员变量
🎀局部变量的介绍及生命周期
局部变量在方法中声明定义,使用前必须初始化 生命周期:从方法体声明开始,至方法结束后(不能出花括号{})局部变量自动销毁
🎀成员变量的介绍及生命周期
成员变量在类体中声明定义,使用前不进行初始化时有默认值,作用域为整个类体 (byte short int long默认值为 0) (double float 默认值为0.0) (boolean 默认值为flase)
(char,引用数据类型 默认值为 null)
-生命周期:从创建对象开始,结束于对象销毁