美文网首页
Java核心技术学习笔记一

Java核心技术学习笔记一

作者: Grea | 来源:发表于2017-03-06 23:30 被阅读0次

第四章 类与对象

一、面向对象设计概述

1、面向过程与面向对象

    传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题,这些过程一旦被确定,就要开始考虑存储数据的方式。也就是首先确定如何操作数据,然后再决定如何组织数据,以便于数据操作。

    面向对象程序设计却调换了这个次序,数据被放在第一位,然后再考虑操作数据的算法。

    面向过程适合规模较小的问题,而面向对象更加适合用于解决规模较大的问题。

2、类

    封装:封装是与对象有关的一个重要概念。从形式上看,封装是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操纵数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例域值,这些值的集合就是这个对象的当前状态(state)。无论何时,只要对象发送一个消息,它的状态就有可能改变。

    实现封装的关键在于绝对不能让类中的方法直接访问其他类的实例域。程序仅通过对象的方法与对象的数据进行交互。封装给予对象了“黑盒”特征,这是提高重用性和可靠性的关键。这意味着一个类可以全面的改变存储数据的方式,只要仍然使用同样的方法操纵数据,其他对象就不会知道或介意所发生的变化。

3、对象:

对象的三个主要特性:

- 对象的行为——可以对对象施加哪些操作,或可以对对象施加哪些方法?

- 对象的状态——当施加那些方法时,对象如何响应?

- 对象的标识——如何辨别具有相同行为与状态的不同对象;

    封装:就是把数据和行为隐藏起来,其他的类不能直接访问,只能通过对象的方法来访问。

    对象:对象是对实际事物的抽象概括。

4、类之间的关系

在类之间常见的关系有:

> 依赖(“use-a”)

> 聚合(“has-a”)

> 继承(“is-a”)

    依赖:即“use-a”关系,最常见的关系,例如,Order类依赖Accout类是因为Oder对象需要访问Acount对象查看信用状态。如果一个类的方法操纵另一个类的对象,就说这个类依赖于于另一个类。

    聚合:即“has-a”关系,例如:一个Order类对象包含一些Item对象。聚合关系就是A的对象包含B的对象。

    继承:即“is-a”关系,是一种表示特殊与一般的关系。一般而言,如果类A继承类B,类A不但包含从类B继承的方法,还会拥有额外的功能。

二、使用现有类

1、对象与对象变量

    要想构造一个Date对象需要在构造器前面加上new操作符,如下:

new Date( )

    这个表达式构造了一个新对象。这个对象被初始化为当前的日期和时间。

    如果需要的话,也可以将这个对象传递给一个方法:

System.out.println( new Date( ) );

    相反,也可以将方法应用于刚刚创建的对象上。Date类中有一个toString方法,这个方法将返回日期的字符串描述。如下:

String s = new Date( ).toString( );

    在这两个例子中,构造的对象仅使用了一次。通常希望构造的对象可以多次使用,因此可以将对象存放在一个变量中:

Date birthday = new Date( );

相关文章

  • # [Java学习]1.Java基础【学习笔记】

    [Java学习]1.Java基础【学习笔记】 书籍 《Java核心技术》、《Java核心技术精讲》 2018-09...

  • Java 语言原理

    Java核心技术讲解学习一 Java核心技术讲解学习二 Java核心技术讲解学习三 Java核心技术讲解学习四 J...

  • Java学习笔记(一)

    Java学习笔记(一) 依据《写给大忙人看的Java核心技术》所记笔记 【美】Cay S.Horstmann 著杨...

  • java修炼书籍

    1,《java核心技术(卷1)》 2,《java核心技术(卷1)》 3, 《java学习指南(第四版)》 4,《e...

  • java核心技术体系

    --------------------杨晓峰的《java核心技术36讲》学习笔记 0x01 两个方面会阻碍程序员...

  • Java核心技术学习笔记一

    第四章 类与对象 一、面向对象设计概述 1、面向过程与面向对象 传统的结构化程序设计通过设计一系列的过程(即算法...

  • 2018-06-02 8.5 虚拟机对泛型代码的处理

    以下部分只是将我在学习笔记中的关于Java核心技术卷一 8.5 的笔记单拆出来,形成一篇文章。 8.5 泛型代码和...

  • Java核心技术(学习笔记)

    Java的基本程序设计结构 1. Java区分大小写 2. 每个Java应用程序都必须有一个main方法 3. J...

  • 《 Java 核心技术 》学习笔记

    一)Java白皮书 二)基本程序设计结构 移步: 三)对象与类 例1 CalendarTest.java 例2 E...

  • 双11Java程序员书单推荐

    Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《...

网友评论

      本文标题:Java核心技术学习笔记一

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