基础知识(05) -- Java中的类
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中的类的更多相关文章
- Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 细说java中的类
前言 最近在学习<java编程思想> 学到了内部类 类不就是class吗 天天用 还能讲出花来了不成... 其实不然,在java中,类的种类和使用方式多种多样,花样繁多.其中主要有 普通类 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- Java开发知识之Java中的集合Set接口以及子类应用
---恢复内容开始--- Java开发知识之Java中的集合Set接口以及子类应用 一丶Set接口以及作用 在上一讲.我们熟悉了接口的实现图.以及自己各有的子类. List接口主要存储的数据是可以重复 ...
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
随机推荐
- JavaScript 函数
JavaScript 函数 介绍:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.嗯,就像Java中封装的方法一样. 将脚本编写为函数,就可以避免页面载入时执行该脚本. 函数包含着一些代码 ...
- Java Generics and Collections-2.3
2.3 Wildcards with super 这里就直接拿书上的例子好了,这是Collections里面的一个方法: public static <T> void copy(List& ...
- 安全测试 - CSRF攻击及防御
CSRF(Cross-site request forgery跨站请求伪造) 尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左.XSS利用站点内的信任用户,而CSRF则通过伪 ...
- 使用NuGet发布自己的类库包(Library Package)
STEP 1:注册并获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了. STEP 2:下载NuGe ...
- dubbo/dubbox 增加原生thrift及avro支持
(facebook) thrift / (hadoop) avro / (google) probuf(grpc)是近几年来比较抢眼的高效序列化/rpc框架,dubbo框架虽然有thrift的支持,但 ...
- Office 365 如何使用powershell查询邮件追踪
如何使用Powershell 对office365的邮件进行查询追踪 1. 首先链接到Exchange Online 管理上面 $UserCredential = Get-Credential $Se ...
- https简介/原理/部署【转】
转自: http://han.guokai.blog.163.com/blog/static/136718271201211631456811/ http://www.barretlee.com/bl ...
- Scala中None, Nil, Nothing的区别
Nil是一个空的List None是一个object,是Option的子类型 List[Nothing]
- javascript中正则实现读取当前url中指定参数值方法。
getQueryString:function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...
- Android环境变量配置
第一步: 把这些东西全部准备好!然后jdk怎么安装我相信大家都知道.安装好jdk之后,我们来配置环境变量. 我的电脑—右键—属性—高级系统设置—环境变量 JAVA_HOME环境变量.它指向jdk的安装 ...