九:认识Java对象

作者: 阳光流影 | 来源:发表于2018-11-26 16:00 被阅读0次

对象和类

面向对象编程的核心是对象, 如何来理解对象和类的概念是很重要的。Java中的对象并不是生活中找对象的那个对象,面向对象的编程相对应的是面向过程的编程。面向过程,是从解决问题的角度看待问题,需要解决什么问题就写什么程序,写出来的程序都带有特定的功能,这些功能松散地分布在各处,他们之间没有任何联系。面向对象则从关系的视角看世界,以事物的内在与外在的联系来处理问题,将事物分类,并赋予不同事物类不一样的状态行为。举例来说,世界上有2类人,男人(boy)和女人(girl),这是两个类,而我们每个人就是某一个类的实例对象。男人的状态有身高,体重,年龄,等。男人的行为有打猎,种地,开车,等。女人的状态有身高,体重,年龄,发型颜色,等。女人的行为有购物,穿高跟鞋,生小孩,等。

对象和类

对象的好处

有时候我们通过简单的变量是不足以或不方便描述一件事情的,比如,我们要记录学校中学生的信息,那么我们就要定义很多组变量,每个学生要有一组变量来描述这个学生,有些变量描述学生名字,有些变量描述学生年级等。如果我们把每个学生都看成是一个对象,那么学生的姓名和成绩自然就是这个对象的内部属性了。对比一下不同, 如果使用变量来描述三个学生信息,则程序代码如下所示:

        // 以下使用一组变量来描述学生信息
        String stu1Name = "Ada Lovelace";   //姓名
        int stu1Grad = 2017;    //年级
        int stu1ID = 12345;     //学号
        double stu1GPA = 3.2;   //绩点
        int stu1Abs = 4;    //缺席次数

        String stu2Name = "Alan Turing";
        int stu2Grad = 2016;
        int stu2ID = 12346;
        double stu2GPA = 3.8;
        int stu2Abs = 9;

        String stu3Name = "Margret Hamilton";
        int stu3Grad = 2017;
        int stu3ID = 12347;
        double stu3GPA = 3.92;
        int stu3Abs = 0;

同样表示三个学生信息,使用对象的程序代码如下:

        // 使用对象
        Student ada = new Student("Ada Lovelace", 2017, 12345, 3.2, 4);
        Student alan = new Student("Alan Turing", 2016, 12346, 3.8, 9);
        Student margret = new Student("Margret Hamilton", 2017, 12347, 3.92, 0);

从对比代码中可以看出,使用对象让我们的程序代码更加模块化,代码更加简洁,程序可读性,程序可理解性也更好。

对象的定义

我们要自己定义一个对象,首先要定义一个类,类的信息包括类的名称,类的属性,类的方法。在以上的程序代码中,我们用到了Student对象,那么它的类的定义如下:

public class Student {
    String name;
    int grad;
    int ID;
    double GPA;
    int abs;

    public Student(String name, int grad, int ID, double GPA, int abs) {
        this.name = name;
        this.grad = grad;
        this.ID = ID;
        this.GPA = GPA;
        this.abs = abs;
    }

    public boolean isGraduating() {
        return (GPA > 2.0 && abs < 10 && grad == 12);
    }
}

对象是具体化的类,类是抽象化的对象,以上三个学生对象和Student类的关系,可以用以下图表示:

类和对象的关系
  • 类有一个特定的名称
  • 类中定义了本类所有的属性
  • 类中定义了本类所有的方法
  • 在一个Java程序中,可以有多个类的定义

对象(实例)

  • 对象是一个类的具体化的个体
  • 定义对象的时候要使用new关键字
  • 程序运行过程中,可以定义同一个类的很多对象的副本

相关文章

  • 九:认识Java对象

    对象和类 面向对象编程的核心是对象, 如何来理解对象和类的概念是很重要的。Java中的对象并不是生活中找对象的那个...

  • 【Java】认识类和对象

    一. 面向对象的介绍和理解 1. 面向对象的介绍 Java是一门纯面向对象的语言(Object Oriented ...

  • SpringBoot中JPA的基本使用

    1、认识JPA JPA(Java Persistence API)是Java的持久化API,用于对象的持久化。它是...

  • 暑假学习打卡4

    JSP:在原有html的基础+java脚本+jsp标签,动态资源 jsp九个内置对象 java脚本:<%........

  • 认识Java序列化

    我的个人博客,认识Java序列化 引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java ...

  • Android 面试经验

    1.JAVA 基础问题 你对线程的认识? 你对进程的认识? 你对面向对象的认识? wait 和 sleep的区别?...

  • Synchronized原理

    1、认识JAVA对象的组成结构 对象的内存结构:在JVM中,对象在内存中的布局分为三块区域:对象头、实例数据和对齐...

  • Java序列化与反序列化

    深入理解 JAVA 反序列化漏洞 关于 Java 对象序列化您不知道的 5 件事 Java 序列化的高级认识 ja...

  • JAVA 多线程与高并发学习笔记(六)——内置锁

    Java对象结构 Java 内置锁很多信息都放在对象结构中,这里先了解一下 Java 对象结构。 Java 对象(...

  • JVM系列:(九)对象的创建和访问

    原文链接:JVM系列:(九)对象的创建和访问 一 对象的创建 Java语言是一门面向对象语言,在程序运行过程中无时...

网友评论

    本文标题:九:认识Java对象

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