`
阅读更多

Java编程那些事儿58—类()

郑州游戏学院 陈跃峰

出自:http://blog.csdn.net/mailbomb

8.2

(class)Java语言的最小编程单位,也是设计和实现Java程序的基础,本部分将深入介绍类的相关知识。

8.2.1 类的概念

类是一组事物共有特征和功能的描述。类是对于一组事物的总体描述,是按照面向对象技术进行设计时最小的单位,也是组成项目的最基本的模块。

类的概念是抽象的,类似于建筑设计中的图纸,是对于现实需要代表的具体内容的抽象。类只包含框架结构,而不包含具体的数据。所以类代表的是总体,而不代表某个特定的个体。

例如设计电脑(computer)这个类,电脑是一组事物,则该类中包含的常见特征如下:

l 类型:笔记本或台式机

l 内存容量

l 硬盘容量

l CPU类型

l 屏幕尺寸

l 主板类型

对于每一台具体的电脑来说,每个特征都有自己具体的数值,或者说是将特征数据具体化,而类需要代表的是总体特征,只需要具备特征的类型和结构,不需要具有具体的数值,因为一般一组事物的某个特征的数值都是不尽相同的,但是都统一的具备该特征。

同理,如果设计登录模块中的用户(user)类,则该类中包含的常见特征如下:

l 用户名

l 密码

对于每个具体的用户来说,都有自己特定的用户名和密码,但是对于用户这个类来说,只需要具备用户名和密码这两个特征的类型和结构即可。从这里也可以很直观的体会到,类是抽象的,是一组事物共有特征的描述。

上面是对于类结构具体特征的描述,其实类中除了包含特征的描述以外,还可以包含该类事物共有的功能,这些功能也是类的核心内容。

例如电脑这个类,包含的基本功能有:

l 打开

l 关闭

用户这个类,包含的基本功能有:

l 登录

通过在类的内部包含共有的功能,使得每个类都可以在内部实现一些规定的功能,从而减少和外部的交互,降低整个项目的复杂度。

这就是面向对象技术中类的概念的基本描述,每个类就代表一组事物,通过基本的特征和功能实现该类事物在项目内部的表达。

以上是从设计角度理解类的概念,其实从语法角度理解类的概念也很简单,类就是一种复合数据类型,或者说是一种程序员设计的新类型。因为在实际开发中,程序员可以根据需要声明新的类,所以在面向对象的开发中,程序员可以根据需要设计新的数据类型——类,从而实现项目要求的功能。

把设计角度中类的概念,转换为语法角度类的概念,是每个面向对象技术初学者都必须经历的阶段,通过进行该转换,可以把虚拟的类的概念转换成具体的类的概念,也是面向对象技术入门的标志。

对于一组事物来说,共有的特征和功能有很多,在实际抽象成类时,只需要抽象出实际项目中的需要的属性和功能即可。

8.2.2 类的声明

类是一种复合数据类型,则声明一个类就相当于创建了一种新的数据类型,在面向对象技术中就通过不断的创建新的数据类型来增强程序可以代表的数据的能力。

类声明总体的语法格式如下:

访问控制符 [修饰符] class 类名{

[属性声明]

[方法声明]

[构造方法声明]

}

说明:该语法格式中中括号内部的部分为可选。

其中访问控制符用于限定声明的类在多大范围内可以被其它的类访问,主要有默认访问控制符(无关键字)public;修饰符用于增强类的功能,使声明的类具备某种特定的能力;class是声明类时使用的关键字;类名是一个标识符,用于作为新声明的类的名称,要求必须符合标识符的命名规范。注:在Java语言的编码规范中,类名第一个字母要求大写。

例如如下示例:

public class Computer{}

class User{}

接着的大括号内部用于声明类的内部结构,类内部一般包括三类声明,且这三类声明都是可选的。说明如下:

l 属性声明

用于代表共有特征

l 方法声明

用于代码共有功能

l 构造方法声明

用于初始化类的变量

下面是这些声明的详细说明。

8.2.2.1 属性声明

属性,有些翻译为域、字段等,属性是类内部代表共有特征的结构,或者可以把属性理解为类的某个具体特征,类通过一系列的属性来代表一种新的数据类型。对于类比较基础的理解就是通过多个属性组合成的新的数据类型,这也是复合数据类型的由来。

属性声明的语法格式如下:

访问控制符 [修饰符] 数据类型 属性名[=];

属性的访问控制符限定该属性被访问的范围,包含如下四种:publicprotected、默认的(无关键字)private,分别代表不同的访问限制,具体的限制范围后续将有详细说明。

修饰符用于使属性具备某种特定的功能。

数据类型为该属性的类型,可以是Java语言中的任意数据类型,也就是说,既可以是基本数据类型也可以是复合数据类型。

属性名是一个标识符,用于代表该属性的名称,在声明属性时的同时可以为该属性进行赋值。

示例格式为:

public int cpuType;

public char sex = ‘’;

在实际声明属性时,也可以一次声明多个属性,例如:

public int x = 10, y = 20;

不过为了程序结构的清晰,一般书写为如下格式:

public int x = 10;

public int y = 20;

另外,属性的作用范围是类的内部,可以在类内部的任何位置引用属性,包括在方法和构造方法的内部,而不论属性是否声明在方法的上面。

总得来说,类就是通过一系列属性的组合成为一种新的数据类型,从而可以代表一种更复杂的结构,也相当于为程序员提供了一种组合已有数据类型形成新数据类型的方法,从而更直观的去代表代表需要表达的数据。

8.2.2.2 方法声明

方法在类的内部代表该类具有的共有功能,将这些功能以方法的形式放置在类的内部,可以在需要时进行调用。

方法的声明和前面讲解的方法一致,只是在类内部增加了属性以后,可以在方法内部直接进行访问,而不需要进行参数传递了。

关于方法的声明示例如下:

public class Box{

int width;

int height;

int length;

public int vol(){

return width * height * length;

}

}

在该示例中,声明了一个名字为Box的类,假设使用这个类来代表箱子,其中包含三个属性:lengthwidthheight,依次代表箱子的长宽高,则在该类内部包含一个基本的功能,求箱子体积的vol方法,该方法的功能是计算箱子的体积。

下面是关于上面提到的用户类的基本实现,示例代码如下:

public class User{

public String username;

public String password;

public boolean login(){

逻辑代码

}

}

User类的内部,包含用户名和密码这两个属性,根据需要选择Java语言提供的String字符串类型进行代表,然后在该类的内部声明登录的login方法,在方法内部根据逻辑书写对应的实现代码。

分享到:
评论

相关推荐

    Java编程那些事儿

    ### Java编程那些事儿 #### 程序设计概述与核心要素 **程序设计**,作为一项专业技能,涉及将现实世界的问题转化为计算机可执行的指令序列。本文将围绕《Java编程那些事儿》这本书的部分内容,深入浅出地探讨程序...

    java编程那些事儿-陈跃峰71-102

    《Java编程那些事儿》是陈跃峰先生的一本关于Java编程技术的著作,该书深入浅出地介绍了Java编程中的重要概念和实践技巧。这里我们主要聚焦于压缩包中的部分内容,涉及Java集合框架、时间日期处理、文件操作、多线程...

    Java编程那些事儿_java_

    本文将围绕“Java编程那些事儿”,探讨JVM的工作原理,诊断工具的使用以及性能优化策略。 1. JVM原理: JVM是一种虚拟机,它为Java程序提供了跨平台的执行环境。它负责解析.class文件,执行字节码,并管理内存区域...

    java编程那些事儿-陈跃峰31-70

    《Java编程那些事儿》是陈跃峰先生的一本关于Java编程技术的著作,虽然在网络上可能难以找到完整的电子版,但通过你提供的文件名列表,我们可以梳理出一系列关键知识点,这些都是学习Java编程过程中不可或缺的部分。...

    java编程那些事儿

    学习JAVA基础看他 很不错 相信你会喜欢的 这个是小弟自己做的 不好的地方请多多包含

    java编程那些事儿-陈跃峰1-30

    java编程那些事儿-陈跃峰 不经意发现陈前辈的这本书,在网上没有找到归档的,于是,我自作多情地整理了一下,这样同志们在线下也能看这本书了。共分了三部分,这是第一部分,还有两部分,希望看这些文章的同志们一定...

    编程的那些事儿.rar

    首先,"编程的那些事儿.pdf"这一PDF文档,很可能是一本全面的编程教程或是一本充满实用经验分享的书籍。它不仅能够带领初学者入门,还能够帮助他们逐步建立起编程的基本概念,比如数据类型、变量、控制结构和函数等...

    java那些事儿chm版本

    Java编程那些事儿系列文章(全集) 整理好的chm 作者:陈跃峰 来源:http://blog.csdn.net/mailbomb

    java那些事儿

    在这个压缩包中,我们有两份重要的文件:《Java编程那些事儿》的PDF文档以及两个与软件下载相关的文本和URL。 首先,让我们聚焦于核心的《Java编程那些事儿》PDF文档。这份资料可能包含了Java语言的基础概念,如...

    java编程200例(附:JAVA文档完全解读中文版)

    "Java编程200例(附:JAVA文档完全解读中文版)"是一个非常适合初学者和进阶者的学习资源,它提供了丰富的实例来帮助理解Java的核心概念和技术。 这200个编程实例涵盖了Java语言的基础到高级主题,包括但不限于: ...

    JAVA编程题全集(100题及答案)——直接打印

    本资源提供了一个完整的 JAVA 编程题全集,涵盖了大量的题目和经典的解法,非常适合刷学完基础、刷题前的知识总结与开拓。以下是从资源中提取的重要知识点: 1. JAVA 基础知识:资源中提到了 JAVA 程序设计总复习题...

    java编程逻辑

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年推出。它的设计目标是具有高可靠性、可移植性、安全性以及性能。Java被应用于各种领域,如Web开发、移动...

    华为JAVA编程规范、编程军规

    以上只是部分基于华为JAVA编程规范的知识点,具体细节需要参考《JAVA编程军规.doc》《JAVA十大低级错误.doc》《华为_Java编程规范.pdf》《华为JAVA编程规范.doc》等文档。这些规范旨在提升代码质量和团队协作效率,...

    华为java编程规范

    华为Java编程规范是一份详细的编程指南,旨在规范Java编程的编写风格、编程习惯和代码质量。该规范涵盖了Java编程的各个方面,包括编程风格、命名惯例、注释规范、代码组织结构等。 编程风格规范 在华为Java编程...

    Java 并发编程实战.pdf

    综合来看,该书不仅适合于对Java并发编程感兴趣的初学者,同样也适合有经验的开发者,作为一本参考资料和实践指南,读者可以通过它来加深对Java并发特性的理解和应用。书中丰富的案例分析和代码示例将有助于读者更...

Global site tag (gtag.js) - Google Analytics