美文网首页
Java语言程序设计(第8章 对象和类)

Java语言程序设计(第8章 对象和类)

作者: 小码农的编程日记 | 来源:发表于2017-12-15 15:15 被阅读0次

8.1 引言

    学习过选择、循环、方法和数组解决很多程序设计问题。但是这些Java的特性还不足够用来开发图形用户界面和大型软件系统。假设希望开发一个GUI界面,本章开始介绍面向对象程序设计,它会有助于更有效地开发GUI和大型软件系统。

8.2 定义对象的类

    面向对象程序设计(OOP)就是使用对象进行程序设计。对象(object)代表现实世界中可以明确标识的一个实体。每个对象都有自己独特的标识,状态和行为。

·一个对象的状态(state,也称之为特征(property)或属性(attribute))是指那些具有它们当前值得数据域。

·一个对象的行为(behavior,也称之为动作(action))是由方法定义的。调用对象的一个方法就是要求对象完成一个动作。

使用一个通用类来定义同一类型的对象,类是一个模板、蓝本或者说是合约。用来定义对象的数据域是什么以及方法是做什么的。一个对象是类的一个实例。创建实例的过程称为实例化(instantiation)。术语对象(obj)和实例(instance)经常是可以互换的。类和对象之间的关系类似于苹果配方和苹果派之间的关系。可以用一种配方做出任意多的苹果派来。

    Java类使用变量定义数据域,使用方法定义动作。除此之外,类还提供一种称为构造方法(constructor)的特殊类型的方法。调用它可以创建一个新对象。构造方法本身是可以完成任何动作的,但是设计构造方法的初衷还是为了完成初始化动作。

8.4 使用构造方法构造对象

    构造方法是一种特殊的方法。它们有以下三个特殊性:

    1)构造方法必须具备和所在类相同的名字。

     2)构造方法没有返回值,甚至连viod也没有。

     3)构造方法是在创建一个对象使用new操作符时调用的,构造方法的作用是初始化对象。

8.5 通过引用变量访问对象

    要给新创建的对象在内存中分配空间,它们可以通过引用变量来访问。

8.5.1 引用变量和引用类型

ClassName  objectRefVar =new ClassName();

8.5.2 访问对象的数据和方法

    在创建一个对象之后,它的数据和方法可以使用圆点运算符(.)来访问和调用,该运算符也称为对象对象成员访问运算符(object member access operator )。

·objectRefVar.dataFieId引用对象的数据域。

·objectRefVar.methd(参数)调用对象的方法。

8.5.3  引用数据域和NULL值

数据域也可能是引用型的。null是引用类型直接量。引用类型数据域的默认值是null,数值类型数据域的默认值是0,Boolean类型数据域的默认值是false,而char类型数据域的默认值是“\u0000”。

8.5.4  基本类型变量和引用类型变量的区别

    每个变量都代表一个存储值得内存位置,声明一个变量时,就是在告诉编译器这个变量可以存放什么类型的值。对基本类型变量来说,对应内存所寸纯的值是基本类型值。对引用类型变量来说,对应内存所存储的值是一个引用,是对象的存储地址。

8.6  使用java库中的类

8.6.1 Data类

8.6.2  Random类

8.6.3  显示GUI组件

8.7     静态变量、常量和方法

    实例变量时绑定到类的某个特定实例的,它是不能被同一个类的不同对象所共享的。

如果想让一个类的所有实例共享数据,就要使用静态变量(static variable),也称之为类变量(class variable)。静态变量将变量存储在一个公共的内存地址。

    类中的常量是被该类的所有对象所共享的,因此常量应该声明为final static。

实例方法和实例数据都是属于实例的,所以它们在实例创建之后才能使用。它们是通过引用变量来问的。静态方法和静态数据可以通过引用变量或它们的类名来调用。

8.8  可见性修饰符

    可以在类,方法和数据域前使用public修饰符,表示它们可以被任何其他的类访问,如果没有使用可见性修饰符,那么默认为类、方法和数据域是可以被同一个包中的任何一个类访问的。这称作包私有(package private)或包内访问(package—access)。

8.9  数据域封装

    为了避免对数据域的直接修改,应该使用private修饰符将数据域声明为私有的,这就称为数据域封装(data field encapsulation).

在定义私有数据域的类外的对象是不能访问这个数据域的,但是经常会有客户端需要存取、修改数据域的情况,为了能够访问私有数据域,可以提供一个get方法返回数据域的值,为了能够更新一个数据域,可以提供一个set方法给数据域设置新值。

8.10  给方法传递对象参数

    可以将对象传递给方法、同传递数组一样,传递对象实际上是传递对象的引用。java只有一种参数传递方式:值传递(pass by value)。

8.11  对象数组

相关文章

  • 《Java核心技术卷 I》之 Java对象与类

    Java对象与类 面向对象程序设计 面向对象程序设计,简称OOP,Java语言就是完全面向对象的。 类 类(cla...

  • Java类加载

    1、Java类和类加载 Java是一门面向对象的程序设计语言,类是面向对象的重要内容。Java的设计初衷是为了支持...

  • 第4章 类和接口

    第4章 类和接口 类和接口是Java程序设计语言的核心,它们也是Java语言的基本抽象单元。 初学Java的时候感...

  • JVM内存管理之深入理解对象

    深入理解对象 我们知道,Java是一门面向对象设计的语言,面向对象的程序设计语言中有类和对象的概念。类就是具备某些...

  • 【麦兜】Java基础知识巩固——面向对象(类和对象)

    面向对象的程序设计过程中,有两个重要概念:类(Class)和对象(Object) Java语言中定义类的简单语法:...

  • Java语言基础

    1.java主类结构 java语言是面向对象的程序设计语言,java程序的基本组成单位是类,类体中又包括属性与方法...

  • 【Java核心技术1】第4章 对象和类

    [Java核心技术1] 第4章 对象和类 面向对象程序设计(OOP)与面向过程的程序设计在思维方式上有很大的差别...

  • JAVA基础学习

    初学JAVA基础语法分享1 JAVA语言是面向对象的程序设计语言,JAVA程序的基本组成单元是类,类体中又包括属性...

  • 面向对象设计—类和对象

    原文链接:面向对象设计—类和对象 1. 面向对象程序设计的基本概念 Java是一种面向对象的编程语言。面向对象编程...

  • Java语言——类

    在Java语言中经常提到类和对象,实质上可以将类看作是对象的载体,它定义了对象所具有的功能。面向对象程序设计具有以...

网友评论

      本文标题:Java语言程序设计(第8章 对象和类)

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