Java中的类

  1.类的概念

  2.类中的封装

  3.对象的三大特征

  4.对象状态

  5.类与类之间的关系

------------------------------------------------------------

  1.类(class)是构造对象的模板或蓝图。由类构造(construct)对象的过程称为创建类的实例(instance)。
  个人理解:
    Java中存着很多很多的类:
      有些是Java标准类库中提供的类
      有些是用户自己编写的类
      有些是第三方提供的类
      ....
    总之有很多的类,我们可以用这些类来创建各种不同的实例,这些实例之间相互关联,这样就构成了JAVA世界。

    也可以这样理解:Java世界中存在着各种各样的类,我们程序员可以利用这些各种各样的类来创建各种各样的实例,让这些实例相互关联 就形成了一个丰富的Java世界。
    所以,作为程序员的我们需要实现某个系统时,就是去Java世界中寻找符合我们系统功能的类,然后创建这些类对应的实例,如果没有现成的类来使用的话,就需要我们自己去编写类了。
  2.封装(encapsulation) 是对象中一个重要的概念,封装是将数据和行为组合在一起,并对对象的使用者隐藏了数据的实现方式。

  对象中的数据称为实例域(instance field),操作数据的过程称为方法(method)
  可以这样理解封装:比如现实生活中的汽车,我们驾驶员在驾驶汽车时需要操作的有:方向盘、油门、变速器、离合等等,如果把汽车也看做是 实例的话,那么"汽车实例"就将汽车的基本信息进行了封装,只是对驾驶员提供了操作它的方法。
  3.对象的三个特征
    1. 对象的行为(behavior) ---> 可以对对象施加哪些操作?
    2. 对象的状态(state) ---> 当施加那些操作时,对象如何响应?
    3. 对象的标识(identity) ---> 如何辨别具有相同行为与状态的不同对象?
  4.对象的状态: 一个类可以创建出N个对象来,每个对象都保存着描述当前特征的消息。对象的状态可能会随着时间而发生改变,但这种改变不会是自发的,对象状态的改变需要通过调用方法实现。(如果不经过调用方法就可以改变对象的状态,只能说明封装性遭到了破坏。)
  5.类与类之间的关系
    在类之间,最常见的关系有:
      依赖("uses-a")
      聚合("has-a")
      继承("is-a")
    "依赖"(dependence),即"uses-a"关系,是一种最明显的、最常见的关系,如果一个类的方法操作另一个类的对象,我们就说一个类依赖于另一个类。(应该尽最可能地将相互依赖的类减少至最少,这样使类之间的耦合度最小)
    "聚合"(aggregation),即"has-a"关系,一个对象包含另外一些对象的关系。
    "继承(inheritance)",即"is-a"关系,一个类从另外一个类继承而来的关系。

基础知识(05) -- Java中的类的更多相关文章

  1. Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

    java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...

  2. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  3. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结

    053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...

  4. 细说java中的类

    前言 最近在学习<java编程思想> 学到了内部类 类不就是class吗 天天用 还能讲出花来了不成... 其实不然,在java中,类的种类和使用方式多种多样,花样繁多.其中主要有 普通类 ...

  5. 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1

    051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...

  6. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  7. Java开发知识之Java中的Map结构

    Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...

  8. Java开发知识之Java中的集合Set接口以及子类应用

    ---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...

  9. Java开发知识之Java中的集合上List接口以及子类讲解.

    Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...

随机推荐

  1. SecondaryNameNode的工作流程

    SecondaryNameNode是用来合并fsimage和edits文件来更新NameNode和metadata的. 其工作流程为: 1.secondary通知namenode切换edits文件 2 ...

  2. Windows Server 2012 虚拟化实战:SCVMM的安装和部署

    本篇大概介绍一下在Windows Server 2012 R2上安装和部署SCVMM的过程及其注意事项.下图是我们数据中心SCVMM的基本架构,其中 SCVMM Database 是用于存储了所有配置 ...

  3. 字符串匹配算法--Brute-Force算法

    Brute-Force(暴力)算法是字符串匹配中最简单也是最容易理解的算法. 主要思想是 按顺序遍历母串,将每个字符作为匹配的起始字符,判断是否匹配字串.若第一个字符与字串匹配,则比较下一个字符,否则 ...

  4. Android--sharepreference总结

    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ ...

  5. $x^2+y^2=c^2$

    $x^2+y^2=c^2$ 每一个实数都能用有理数去逼近到任意精确的程度,这就是有理数的稠密性.The rational points are dense on the number axis. 每一 ...

  6. 安装CentOS7文字界面版后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

    *无法联网的明显表现会有: 1.yum install出现 Error: cannot find a valid baseurl or repo:base 2.ping host会提示unknown ...

  7. 微信小程序-多级联动

    微信小程序中的多级联动 这里用到的案例是城市选择器 先上代码: .wxml <view class="{{boxHide}}"> <view>{{nian} ...

  8. [LeetCode] Department Highest Salary 系里最高薪水

    The Employee table holds all employees. Every employee has an Id, a salary, and there is also a colu ...

  9. [LeetCode] Excel Sheet Column Title 求Excel表列名称

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...

  10. 【三石jQuery视频教程】01.图片循环展示

    视频地址:http://v.qq.com/page/e/5/t/e0149n5he5t.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...