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. python-copy模块使用

    浅拷贝 import copy dic = { "cpu":[80,], "mem":[80,], "disk":[80,] } print ...

  2. 2-sql基本操作

    sql基本操作 一.Sqlplus常用命令 1.查看oracle数据库的进程 2.查看oracle数据库运行状态 3.显示实例名(数据库名) 4.用sys账户登陆到数据库 5.解锁账户scott,并登 ...

  3. 图像处理中任意核卷积(matlab中conv2函数)的快速实现。

    卷积其实是图像处理中最基本的操作,我们常见的一些算法比如:均值模糊.高斯模糊.锐化.Sobel.拉普拉斯.prewitt边缘检测等等一些和领域相关的算法,都可以通过卷积算法实现.只不过由于这些算法的卷 ...

  4. js小技巧

    js判断字符长度 直接使用String对象的属性,空格亦算一个字符 myString = "Hello world"; length = myString.length js比较字 ...

  5. codeforces 597C C. Subsequences(dp+树状数组)

    题目链接: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standar ...

  6. Subsets II

    Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...

  7. C#文件目录操作完全手册

    需要 using System.IO; 1) 相对路径转绝对路径string fullfolder = HttpContext.Current.Server.MapPath(folder); 2) 文 ...

  8. 服务端跨域处理 Cors

    1  添加 System.Web.Cors,System.Web.Http.Cors 2 global文件中 注册asp.net 管道事件 protected void Application_Beg ...

  9. CentOS配置git和maven自动部署java

    #安装Git yum install git #测试是否成功 git -version #正确 #git version 1.7.1 #配置git config --global user.name ...

  10. JFinal 项目 在tomcat下部署

    原文:http://my.oschina.net/jfinal/blog/353062 首先明确一下 JFinal 项目是标准的 java web 项目,其部署方式与普通 java web 项目没有任 ...