[02] 类和对象

1、面向对象编程

之前我们大概提及过,Java是一门面向对象编程的语言。面向对象,其实是指以对象为基本单位去分析、设计以及实现系统;而Java具备描述对象以及对象之间关系的能力,所以说它是一门面向对象编程的语言。

刚接触编程的新人可能还是不太明白这里的“对象”,这里的对象你可以理解为囊括了某个东西所有特性的具体代表,比如隔壁王叔叔,他是一个对象,那么他的特性就有比如名字,身高,体重,性格等等;活物行,静物也行,如键盘也是一个对象,它的特性如键帽,键程,重量等;总的来说,万物皆对象。

2、什么是类和对象

我们说,Java是面向对象编程的一门语言,这意味着它可以描述对象,就像我现在用中文描述某人如 “张三,男,25岁,未婚,balabala”,你能看明白,当我用Java语言来描述他时,你也能看明白。

我们首先要明白的是:
  • 对象的实质是 “属性 + 行为”
  • 比如 张三,他的属性有姓名、性别、身高等,他的行为有跑、跳、工作、唱歌等
  • 比如 我的成都银行卡,它的属性有账号、密码、余额等,它的行为有存款、取款、转账等

但是对象太多了,比如有张三、李四、王五、赵六,我们一个一个地去描述他们的话,也太多了,毕竟万物皆对象。我们要想办法笼统又不失准确地去描述他们怎么办?实际上,你仔细想想,他们都是什么?没错,他们都是人,属于人这种类别。所以我们完全可以囊括地说 “他们都是人”,而不是具体地说 “他们是身高175身材好的张三和年龄25的李四,还有魁梧潇洒的帅气王五和性感美丽皮肤晰白的赵六”。
“人”的图片搜索结果

实际上,Java中也是按照这样设计的,Java中有这个概念,类(class)
  • 类定义了对象共同的属性和行为
  • 具体的某个对象需要通过类来进行申明

所以假如我们要在Java的世界里描述张三,我们需要先定义人这个类,再定义属于人的张三。怎么样,是不是有种创世神的感觉?

人这个类,用Java代码来简单示例的话,大概如下:
public class Person { 
    String name; //属性,姓名
    int age; //属性,年龄

    public void eat(){ //行为,吃
        System.out.println("吃东西");
    }

    public void run(){ //行为,跑
        System.out.println("跑起来");
    }

}

而我们要如何定义张三呢?这样:
Person zhangsan = new Person(); //定义zhangsan为一个Person
zhangsan.name = "张三"; //zhangsan的名字叫“张三”
zhangsan.age = "25"; //zhangsan的年龄是25
zhangsan.eat(); //zhangsan吃东西
zhangsan.run(); //zhangsan跑起来

代码看不懂不要紧,这里只是示例,明白Java世界中类和对象两者之间的关系。关于具体如何使用Java代码来定义,下个章节继续。


posted @ 2017-08-31 17:16  Dulk  阅读(280)  评论(0编辑  收藏  举报