• [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代码来定义,下个章节继续。


  • 相关阅读:
    虚函数和纯虚函数
    函数指针
    const成员函数
    随笔
    Myeclipse/eclipse的Web project改写成Maven项目
    Maven项目配置不接文件名
    Tomcat需要更改三个端口,才能在一台机器上搭载多个tomcat
    maven错误:Project configuration is not up-to-date with pom.xml
    Failed to execute goal on project MakeFriends: Could not resolve dependencie The POM for .chengpai.jtd:jtd-service-api:jar:1.0-SNAPSHOT is missing, no dependency information available
    编译器问题:运行maven,报错-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
  • 原文地址:https://www.cnblogs.com/deng-cc/p/7459340.html
Copyright © 2020-2023  润新知