美文网首页Java编程社区
Java学习笔记——面向对象

Java学习笔记——面向对象

作者: C语言中文社区 | 来源:发表于2018-09-01 10:43 被阅读19次

    声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

    万物皆对象

    学习Java,我们都听过这句话:万物皆对象。那么什么是对象?

    我们先来看看人类是怎么认识世界的,人类不断的接触到世界上的各种生物,通过长期的观察,把具有公共特性的生物进行分类,这样就给每类动物一个统称,比如牛、马、老虎等,单独从老虎的角度讲,世界上又有千千万万个老虎,它们都是这个世界上具体的某一个生物。我们在现实生活中,是通过具体的某个事物归纳总结他们的公共特性然后产生类。

    对象:在现实生活中存在的具体的一个事物。

    类:对某种类型事物的公共属性与行为的抽取。

    人类认识世界:对象——>类
    在Java中: 类——>对象

    Java中描述事物通过类的形式体现,类是具体事物的抽象,概念上的定义。
    对象既是该类事物实实在在存在的个体。
    类与对象的关系图

    类就是汽车
    汽车A、B、C就是堆内存中的对象。
    面向对象与面向过程对比
    举个生活中买电脑的例子

    面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

    面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

    面向对象的特征

    • 封装

    • 继承

    • 多态

    开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。

    设计的过程:其实就是在管理和维护对象之间的关系。

    关于面向对象的特征,在后续的文章中我会详细讲。

    使用Java来描述事物

    案例:通过Java语言定义一个汽车类,并生产出汽车,有颜色、轮胎个数,有运行的功能。

    分析:

    如何描述现实生活中的事物,描述该事物的属性和行为,汽车具有颜色和轮胎数的属性,具备运行的行为。

    如何使用Java语言进行转换?

    根据对应关系:

    属性:类中的成员变量
    行为:类中的成员函数

    那么定义Java类就是定义一个类的成员。汽车类具备的成员是颜色,轮胎数,运行方法。

    public class Car {
        String color;//成员变量
        int num;//成员变量
    
        //成员函数
        void run(){
            System.out.println(color + "的车,轮胎数: " + num + "个,跑起来了");
        }
    }
    

    对象的创建

    创建Car对象

    public class CarDemo {
        public static void main(String[] args) {
            //java中创建对象,使用new关键字在堆内存中开辟了空间,产生了一个实体。
            //为了方便使用生产的汽车,就起了一个名字car
            //car是Car类型,叫做类变量
            Car car = new Car();                
            //使用对象的功能
            car.run();
        }
    }
    

    对象成员的调用

    public class CarDemo {
        public static void main(String[] args) {
            Car car = new Car();
            //对象名.成员变量名将返回成员变量中存储的数值
            int num = car.num;
            System.out.println(num);                
            //对象名.成员变量名也可以给成员变量赋值
            car.num = 4;
            car.color = "black";      
            //对象名.成员方法
            car.run();
        }
    }
    

    今天就分享到这,后续会继续分享,敬请期待!
    声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

    相关文章

      网友评论

        本文标题:Java学习笔记——面向对象

        本文链接:https://www.haomeiwen.com/subject/wtwywftx.html