码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java面向对象详解(上)


    🐒个人主页

    🏅JavaSE系列专栏

    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)
    -生命周期:从创建对象开始,结束于对象销毁

    🪅类信息的存储:

    在这里插入图片描述

  • 相关阅读:
    使用 Aspect 更快地构建 React 可重用组件
    .NET 6.0中使用Identity框架实现JWT身份认证与授权
    java-net-php-python-jsp健身俱乐部会员系统计算机毕业设计程序
    package-lock.json 有什么作用,如果项目中没有它会怎么样,举例说明
    华为坤灵路由器初始化开局的注意事项,含NAT配置
    探花交友前置-dubbo
    pgsql/mysql/clickhouse性能对比
    UI布局:Margin和absolute的区别
    Docker 安装oracle12c容器并创建新用户
    Android studio 一次编译生成32位和64位bin和lib
  • 原文地址:https://blog.csdn.net/qq_66443592/article/details/127947003
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号