类和对象的白话讲解

【传智播客.黑马程序员训练营成都中心】

转载请注明出处
作者: 成都校区.皓月当空

类和对象的白话讲解

本文章作为类和对象的入门讲解,通俗易懂,很适合Java零基础的兄弟们阅读。

很多哥们在学习类和对象知识点的时候,都感觉比较难学,分不清什么是类什么是对象,接下来我就带大家一起来学一学,让大家学起来不是那么的困难。

  • 1、什么是类

    很多人对类的解释是这么说的,类是事物的属性和行为的集合,是一个抽象的概念。听起来确实很抽象,说了和没说也没啥区别。那到底啥是类呢?这里我就要先讲一个故事了。

    故事:
    话说,在古代,一个小男孩去神农架旅游,走着走着进了一个很深的森林中,突然,这个小男孩看到了不远处有一个很大的全身长满了毛发的猩猩,但是看起来就和人一样,行为不像猩猩,更像是人,后来小男孩回到了客栈,拿起笔和纸,写上了这样一段话:

    信的内容:
    亲爱的小花,前些天我在神农架游玩,在深山处看到了一个奇特的动物,这个动物黑黑的,全身长满了毛发,身高有2米高,跳的很高,跑的也很快,不知道你听到我的描述之后,会不会对这个动物感兴趣呢?爱你的小明。

    以上的文字是信里的内容,那当小花收到这封信之后,会通过看小明写的这些文字,在大脑里就可以幻想出大概这个奇特的动物长什么样子了。其实小明在描述一类事物,这个奇特的动物可能不止一个,可能会有很多个,他们都有相似或者相同的外在特征,也都会跳,都会跑,所以这在我们现实生活中就被称为类。其实在JAVA世界中也一样。由于我们程序员要和计算机打交道,我们要和计算机进行沟通,如果我们想要描述一类事物的时候,我们不可能用语言说出来,计算机没那么发达,但是我们可以通过计算机认识的代码体现出来,这样计算机就可以知道我们要描述的事物是什么样子了,比如我们可以这样写:

      class 野人 {
          //这类事物的外在特征:属性
          int 身高;
          String 颜色;
      
          //这类事物具备的功能,行为
          public void jump() {}
          public void run() {}
      }
    

    这么写和小明写给小花的信差不多,当我们这么写完之后,计算机就认识了,就知道你要告诉它这个事物大概长什么样子了。这就是JAVA世界中的类。

    如果看了以上的内容大家还是不懂什么是类的话,那我们可以问自己一个问题,就是我们为什么叫做做 人"类" ?大家可以好好的想一想,为什么我要叫做人类,而不叫做鸟类,鸡类呢?因为我们有相似或者相同的属性,也就是外在特征,我们也都具备共同的功能,比如说吃喝拉撒睡,所以我们都是人类,这个人类不是具体的谁谁谁,就是一个叫法,而在JAVA世界中,类就这和我们现实生活中的类是一样的,现实生活中有人类,那JAVA世界中,我们也可以写一个人类。

    说了这么多,相信大家对类的理解应该又提高了一个档次,关于类的讲解就说到这里,接下来咱们来学习什么是对象。

  • 2、什么是对象

    刚才我们讲解了类,知道了类就是对一类事物的描述,并不是具体的指谁谁谁,那对象是什么呢?比如,如果说我们大家都是人类的话,那你,我,他,我们的每一个人,那就都是每一个对象,有100个人,那就有100对象,这100个对象都是属于人类。相比大家现在对对象也有了一定的理解吧。

  • 3.怎么定义一个类

    我们知道了什么是类,什么是对象之后,那在JAVA中,我们就要去写类,写对象,那怎么写一个类呢?

    格式:

      class Person {
          String name;//姓名
          int age;//年龄
          String gender;//性别
          String xingzuo;//星座
          String xuexing;//血型
    
          //吃的功能
          public void eat() {
              System.out.println("吃");
          }
    
          //喝的功能
          public void drink() {
              System.out.println("喝");
          }
    
          //拉的功能
          public void la() {
              System.out.println("拉");
          }
    
          //撒的功能
          public void sa() {
              System.out.println("撒");
          }
    
          //睡的功能
          public void sleep() {
              System.out.println("睡");
          }
      }
    

    说明:

    class是用来定义一个类的关键字
    我们在写某个事物的时候,要分析该事物有哪些属性和行为,属性在JAVA中就是成员变量,行为在JAVA中就是成员方法,我们在写一个类的时候,只需要把这个事物的属性和行为也出来就可以了。

  • 4.怎么使用一个类

想要使用一个类,只需要创建该类的对象,我们使用对象就可以了。
就好比说让你去打一个人,你能去打人类吗?不可能,你应该去打某一个人,所以我们写完类,不能去使用人类,而是去操作具体的某一个人,也就是对象。

首先我们要写出一个类,然后使用类的对象,这次就拿猪类举例:

    //描述类
    class Pig {
        private String name;//姓名
        private int age;//年龄
        private String xingzuo;//星座

        public Pig() {}

        public Pig(String name, int age, String xingzuo) {
            this.name = name;
            this.age = age;
            this.xingzuo = xingzuo;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getName() {
            return this.name;//此处this可以省略,因为没有同名的局部变量
        }

        public void setAge(int age) {
            this.age = age;
        }

        public int getAge() {
            return this.age;
        }

        public void setXingzuo(String xingzuo) {
            this.xingzuo = xingzuo;
        }

        public String getXingzuo() {
            return this.xingzuo;
        }

        //吃的功能
        public void eat() {
            System.out.println("吃肉");
        }
    }

    //测试类
    class Demo {
        public static void main(String[] args) {
            //创建一头猪(创建对象的格式:类名 对象名 = new 类名())
            Pig pig1 = new Pig("jack", 18, "白猪座");

            //看第一头猪的属性和行为
            System.out.println(pig1.getName());
            System.out.println(pig1.getAge());
            System.out.println(pig1.getXingzuo());

            pig1.eat();

            //创建一头猪
            Pig pig2 = new Pig("tom", 19, "黑猪座");

            //看第二头猪的属性和行为
            System.out.println(pig2.getName());
            System.out.println(pig2.getAge());
            System.out.println(pig2.getXingzuo());

            pig2.eat();
        }
    }

以上内容就是本章要给大家讲解的知识点,内容不多,但是精辟,可以帮助大家尤其是零基础的哥们们学好Java基础中的类和对象,最后祝愿每一位学习Java的兄弟们马到成功,更上一层楼。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,602评论 18 399
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,580评论 1 114
  • 最近周围的同事都在推荐这本书,花了一周的时间利用上下班地铁上的时间读完了这本书,这本书写的很简单明了,全书围绕一个...
    宗主小鱼儿阅读 6,844评论 0 0
  • 都说君子之交淡如水,或许真的是那样清纯、甜美,彼此相见时无话不谈,分开后也似乎不再想念,即使是几年的不相见...
    千古一人阅读 138评论 0 0
  • 01 感谢父母生我养我,让我能够健康的生活到现在,感谢他们把我带到这个世界,让我可以看尽世界繁华。感谢他们对我的爱...
    宇宙玩家Lucy阅读 179评论 0 1