前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JAVASE】Java 类与对象的奥秘:深入探索编程的基石

【JAVASE】Java 类与对象的奥秘:深入探索编程的基石

作者头像
小舒不服输
发布2024-01-30 13:43:45
960
发布2024-01-30 13:43:45
举报
文章被收录于专栏:编程乐园·编程乐园·

👍Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

1、🎡了解面向对象

🎄1.1 什么是面向对象

面向对象就是依靠对象之间的交互完成一件事情

这话一说,大家是不是很懵,没关系,我来举个简单的小例子,让我们更加容易理解吧!

我们在家做面条的时候,我们有两种选择 (1)直接拿出面粉->加水->揉成面团->等待发酵->搓成一根根的面条->烧开水->把面条放进锅中->放入盐…等调味料 (2)去楼下超市买好现成的面条和调味包->烧开水->放入面条和调味包

大家有明显感受到上述的区别吗? 相比于第一种选择,第二种我们所需要面向的只有“面条”,“调味包”,“开水”,这几个对象就好,省去了中间繁琐的过程步骤。 其实,第一种选择是面向过程的,第二种选择是面向对象的。 我们可以明显的感受到面向对象的好处,直接明了,不用管面条是如何做成的,也不用操心调料包是如何配置的,省去了中间繁琐的步骤。

🎡2、类

🎄2.1 什么是类?

类是用来对一个实体(对象)来进行描述的 也举个例子来说说:

有一天,小花无所事事的走在路上,偶然遇到一只喵学长,觉得非常可爱,忍不住多看两眼,回到寝室后,迫不及待的想给室友们分享,小花说喵学长的眼睛是琥珀色的,毛是棕色,黑色,白色混合相间的颜色,看见小花时,摇起了尾巴,发出喵喵的叫声~~

小花所描述的喵学长的特征属性,行为组合起来就是一个类,是描述喵学长这个“对象”的类

🎄2.2 定义类

还是举个例子吧:(就把上述的喵学长类,具体实现出来吧)

如此如此,这般这般,便定义好了一个类,简单吧

🎡3、对象

🎄3.1 实例化一个对象

什么是实例化呢? 定义了一个类,就相当于在计算机中定义了一种新的类型,用类类型创建对象的过程,称为类的实例化。 也就是如下操作:

上述操作便实例化出“小黄”这个具体的喵学长“对象”。

🎡3、类和对象的说明

  1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
  2. 类是一种自定义的类型,可以用来定义变量.
  3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
  4. 做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图 ,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。

🎡4、this引用

🎄4.1 什么是this

this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过this引用去访问。(这么只是简单介绍一下this的概念,详细操作请看下文)

上述代码中,形参名不小心与成员变量名相同,在setDay方法中给year赋year值,给month赋month值,给day赋day值,到底是哪个赋值给哪个,此时编译器看不懂,更别说我们了,我们来看看运行结果吧

在这里插入图片描述
在这里插入图片描述

🤣哈哈哈,果然懵了 此时就要用到this 引用了

在这里插入图片描述
在这里插入图片描述

此时便能成功显示出来了 那是因为此时this指向的是当前调佣this的对象

✌️this的特性: (1)this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型 (2)this只能在"成员方法"中使用 (3) 在"成员方法"中,this只能引用当前对象,不能再引用其他对象 (4). this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法对象的引用传递给该成员方法,this负责来接收

🌟 this 有三种用法: (1)this.成员变量 :访问成员变量 (2)this.func 也就是 this.成员方法 : 访问成员方法 (3)this() :访问当前类的构造方法(下文有详细说明)

🎄4.2 给对象初始化

在这里给大家介绍三种给成员变量初始化的方法:

(1)默认初始化(也就是啥也不干)

这时编译器默认给赋好了初始值,具体是多少,看看下面这张表就一目了然;

数据类型

默认值

byte

0

char

‘\u0000’(不可显示的符号)

short

0

int

0

long

0L

boolean

false

float

0.0f

double

0.0

reference(引用类型)

null

(2)就地初始化(在声明成员变量时,就直接给出了初始值)

此处就不再过多介绍了,还是比较简单的,相信一看就能懂😊

(3)🌟构造方法初始化(很重要)

🤕此时大家肯定很懵,构造方法是什么?脑袋里出现一连串的问号,莫慌,这就给大家介绍一下构造方法。

🎉构造方法

构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。 举个例子吧:

运行结果:

在这里插入图片描述
在这里插入图片描述

🥳观察上面的代码,我们可以总结出构造方法的一些特点: 1、构造方法是一种特殊的方法,方法名和类名相同,并且没有返回值(设置成void 也不行 ) 2、对象的初始化时,一定会调用构造方法 3、构造方法至少要有一个,当我们没有写任何构造方法时,编译器会提供一个不带参数的构造方法(注意:一旦我们写了构造方法,哪怕是没写不带参数的构造方法,编译器也不会提供不带参数的构造方法了) 4、创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次) 5、构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

🌟构造方法中,可以通过this调用其他构造方法来简化代码

🌟注意: 1、this(…)必须是构造方法中第一条语句 2、不能形成环

🥳OK,今日分享就到这里了,小编是新手,上述可能有错误的地方,还请见谅,指出后,一定虚心接受,及时改正✌️

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、🎡了解面向对象
    • 🎄1.1 什么是面向对象
    • 🎡2、类
      • 🎄2.1 什么是类?
        • 🎄2.2 定义类
        • 🎡3、对象
          • 🎄3.1 实例化一个对象
          • 🎡3、类和对象的说明
          • 🎡4、this引用
            • 🎄4.1 什么是this
              • 🎄4.2 给对象初始化
                • 🎉构造方法
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档