Java面向对象详解(上)

🐒个人主页

🏅JavaSE系列专栏

🪅面向对象与面向过程的区分

✨面向过程:

面向过程的思想是为了解决一个问题。其实就是遇到了一个大问题,一步步实现(利用函数)解决问题的方法,最终解决问题。
(例子:🍆做饭——>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)
-生命周期:从创建对象开始,结束于对象销毁

🪅类信息的存储:

在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信计2102罗铠威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值