前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中的基本操作单元 - 类和对象

Java中的基本操作单元 - 类和对象

作者头像
一头小山猪
修改2020-04-10 15:24:32
5270
修改2020-04-10 15:24:32
举报
文章被收录于专栏:微光点亮星辰微光点亮星辰

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Java中的基本操作单元 - 类和对象

文本关键字:类、属性、行为、实例化、对象

一、概念浅析

说到类和对象,这都是两个比较抽象的词,如果用在程序中,那就更不知道是什么意思了。其实大家可以先不联系程序,我们在对一大堆东西分类的时候自然是有一个标准的,符合某些特征的分到一类,符合另外一些特征的分到另外一类。在每个类别中,每一样东西都有相同的特征,但是又有所差别,每一样东西就好比一个一个的对象,是一个切切实实的东西,而分类的类别就好似是一个标准或者描述,会更抽象一些。

1. 类的概念

在编程中,我们通常会借助程序去实现很多应用系统,来满足日常生活中的需要,如网络购物、人力资源管理等等。如果使用面向对象来开发,首先需要做的就是明确这个应用系统当中有哪些角色,这些角色都能够使用哪些功能,每种角色都有哪些自己的特征。我们以一个教学管理系统为例,主要的功能就是进行排课,记录学生和教师的基本信息,记录和统计学生的学习成绩等。那这其中主要就涉及学生、教师、管理员三种角色,当有一批学生入学时,我们要将学生的信息录入系统,这就好像我们一直在填的各种表格,每个学生需要采集的信息都是固定的,不同的是信息的内容。

这就好比我们定义了一个学生类,我们想要收集的学生信息就是对这个类别的描述,学生有学号、有院系、有其他的基本信息,这也是学生的固有特征,于是我们可以用如下的代码描述:

代码语言:javascript
复制
  {
    String sno;
    String name;
    String college;
    String major;
    ...
}

2. 什么是对象

理解了程序中类的概念和表示方式后,对象就比较好理解了。简单来说对象就是按照类的标准创建出来的一个具体可以操作的东西,也就是一个个具体的学生。每个学生都具备相同的特征,但是可以有不同的姓名、学院、专业等自己的信息。在程序运行时的体现就是内存中开辟了对应的空间,想要创建一个新的对象使用如下的代码:

代码语言:javascript
复制
  {
       (String[] args){
        
        Student student =  Student();
        
        
        
        
        
    }
}

3. 类和对象的关系

从上面的例子中我们已经可以看到,类相当于是一个模板或是像工厂的图纸,对象则相当于按照这个标准和模具创造出来的个体,每一个对象都具备相同的特征。在程序中的体现就是,使用class关键字定义一个类结构,然后在这个结构中对整个类进行描述,都具备哪些属性,都可以产生行为,但是只有具体的对象可以具备具体的属性值和产生具体的行为(有关于静态的声明将在另外的文章中单独说明)。

二、类

我们应该如何描述和定义一个类呢?我们最开始写的HelloWorld不也是一个类嘛?为什么没这么多乱七八糟的概念?下面我们就来进一步解析。从客观世界的角度出发,比如小明上了大学,这就是一个具体的学生,他有学号、姓名、对应的学院、专业等等,这都是他个人的基本信息,除此之外,他还可以进行多种活动,比如选课、考试、修改自己的部分信息等等。

那么我们从程序的角度出发,应该如何定义一个类呢?这取决于我们的需要,对于一个教学管理系统来说,我们关心的只是和学生学习相关的信息,学生能够选课、考试等等。对于一个后勤管理系统来说,我们关心的则是学生的饭卡消费情况,出入宿舍的时间,学生能够充值、消费、刷卡等等。所以如何定义和描述一个类,取决于我们的应用系统需要,或者是题目的要求。

1. 属性

属性指的就是所描述的类当前的状态,也就是他自己的一些信息,直接在类下进行定义,和正常声明一个变量的格式相同,可以不指定初始值。

2. 行为

行为指的就是当前这个类所创建出的对象都能进行什么样的行为,在程序上的表现就是方法,可以被具体的对象来进行调用,在方法体中用代码实现具体的功能。

代码语言:javascript
复制
  {
    
    String sno;
    String name;
    String college;
    String major;
    ...    
      (){
        
        System..();
    }
      (){
        
        System..();
    }
}

3. 可执行类

在通常情况下,我们定义的一个类由四大部分构成:属性、行为、构造器以及其他继承Object的方法。也就是说都不存在可以直接执行的main方法,而只是为了定义一个我们想要使用的类,那么怎么样才能调用到,把我们的类用起来呢?就是通过那些具备main方法的类,如最初我们使用的HelloWorld,这就是一个最简形式的可执行类。

代码语言:javascript
复制
  {
       (String[] args){
        System..();
    }
}

当然,我们也可以直接在类中添加main方法来测试运行,但是一般不会这样做,因为会有一些权限的问题不能够测试完整,通常的办法是新建一个单独的测试类,来进行调用测试。

代码语言:javascript
复制
  {
       (String[] args){
        
        Student student =  Student();
        
        student. = ;
        student. = ;
        student. = ;
        student. = ;
        
        System..( + student.);
        
        student.();
        student.();
    }
}

三、对象

通过上面我们已经知道对象的概念,以及如何使用创建和使用一个对象。接下来我们再来明确一下类和对象,对象和对象之间的关系。

1. 对象是类的实例

创建对象的过程也可以被称之为实例化,对象也可以被叫做类的实例。这个概念也很好理解,在类中只是定义了一系列的描述信息,真正去执行需要靠具体的对象,以一个类为基准,可以创建出很多对象。

2. 对象和对象之间的关系

对象与对象之间存在共同点,除了使用静态声明的属性外,是不会互相影响的,这是一个很重要的特点。当我们使用不同的对象去调用方法和输出属性信息时,虽然类当中的结构完全一致,但是由于对象所处的状态(属性值)可能不同,那么方法执行的结果也会不同。

代码语言:javascript
复制
  {
    
    String sno;
    String name;
     balance;
    ...    
      ( money){
        
        balance += money;
        System..( + balance);
    }
      (){
        
        System..( + balance);
    }
}
代码语言:javascript
复制
  {
       (String[] args){
        
        Student student1 =  Student();
        
        student1. = ;
        
        student1.();
        student1.();
        
        Student student2 =  Student();
        
        student2. = ;
        
        student2.();
        student2.();
    }
}

程序执行完毕后可以再次输出查看两个对象的属性值,不会互相影响。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微光点亮星辰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java中的基本操作单元 - 类和对象
    • 一、概念浅析
      • 1. 类的概念
      • 2. 什么是对象
      • 3. 类和对象的关系
    • 二、类
      • 1. 属性
      • 2. 行为
      • 3. 可执行类
    • 三、对象
      • 1. 对象是类的实例
      • 2. 对象和对象之间的关系
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档