`
凌紫冥
  • 浏览: 24586 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java编程思想第四版——第五天

    博客分类:
  • Java
 
阅读更多
2012-03-23
60-66/913

2.5 方法、参数和返回值
C和C++用函数描述命名子程序,java用方法表示“做某些事情的方式”。
Java的方法决定了一个对象能接收什么样的消息。
方法基本组成部分:名称、参数、返回值、方法体
ReturnType methodName(/*Argument list*/){
/* Method body */
}

返回类型:调用方法之后从方法返回的值
参数列表:给出了要传给方法的信息的类型和名称
方法名和参数列表(合起来称为“方法签名”)唯一地标识出某个方法。
Java中方法只能作为类的一部分来创建,只能通过对象才能被调用,且这个对象必须能执行这个方法调用。调用方法:先列出对象名,句点,然后方法名和参数列表。
objectName.methodName(arg1, arg2, arg3);

调用方法的行为被称为发送消息给对象,面向对象程序设计通常简单的归纳为“向对象发送消息”。

2.5.1 参数列表
参数列表指定要传递给方法什么样的信息。
参数列表中必须指定每个所传递对象的类型及名字。
Java中任何传递对象的场合一样,传递的实际上是引用(基本类型除外),引用的类型必须正确。

Return关键字的用法:首先,代表“已经做完,离开此方法”。其次,如果此方法产生了一个值,这个值要放在return语句后面。

可以定义方法返回任意想要的类型,不想返回任何值,可以提示此方法返回void(空)。若返回类型是void,return关键字的作用只是用来退出方法。因此,没有必要到方法结束时才离开,可在任何地方返回。如果返回类型不是void,那么无论在何处返回,编译器都会强制返回一个正确类型的返回值。

2.6 构建一个java程序

2.6.1 名字可见性
名字管理,重要问题。
C++通过几个关键字引入名字空间概念。
Java采用反转域名,非强制,反转域名后,句点用来代表子目录的划分。所有文件都能够自动存活与它们自己的名字空间内,同一个文件内的每个类都有唯一的标识符,java语言本身解决了名字管理问题。

2.6.2 运用其他构件
Java消除了“向前引用”的问题,可以直接使用发出调用的那个源文件中的类,即使这个类在文件的后面才会被定义。

调用位于其他文件中的类,用import关键字来准确告诉编译器想要的类是什么。Import指示编译器导入一个包,也就是一个类库。(其他语言中,一个库不仅包含类,还可能包括方法和数据,java中所有代码都必须写在类中。)

一次导入一群类:想要使用util中的几个类,不想明确逐一声明,可以使用通配符*达到目的。
import java.util.*;

2.6.3 static关键字
两种情形使用static关键字:一,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。二,希望某个方法不与包含它的类的任何对象关联在一起,即使没有创建对象,也能够调用这个方法。
只需将static关键字放在定义之前,就可以将字段或方法设定为static。
class StaticTest{
static int i = 47;
}
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
创建两个StaticTest 对象,StaticTest.i也只有一份存储空间,两个对象共享同一个i。
st1.i和st2.i指向同一存储空间。
引用static变量有两种方法:通过一个对象去定位它,如st2.i。也可以通过类名直接引用,非静态成员不能这样调用。使用类名是引用static变量的首选方式,不仅强调了变量的static结构,而且在某些情况下还为编译器进行优化提供了更好的机会。静态方法与静态变量类似。

Static作用于某个字段,会改变数据创建的方式(一个static字段对每个类来说都只有一份存储空间,非static字段则是对每个对象都有一个存储空间),但static作用于某个方法,差别却没有那么大。Static方法的一个重要用法就是在不创建任何对象的前提下就可以调用它。这一点对定义main()方法很重要,这个方法是运行一个应用时的入口点。

和其他任何方法一样,static方法可以创建或使用与其类型相同的被命名对象,因此,static方法常常拿来做“牧羊人”的角色,负责看护与其隶属同一类型的实例群。

2.7 你的第一个java程序
每个程序文件开头,必须声明import语句,以便引入在文件代码中需要用到的额外类。有一个特定类会自动被导入到每一个java文件中:java.lang。java.lang默认导入到每个java文件中,它的所有类都可以直接使用。

System.out.println();将数据打印到控制台,完成后换行。

类的名字必须和文件名相同,如果创建一个独立运行的程序,文件中必须存在某个类与该文件同名(否则,编译器会报错),且那个类必须包含一个名为main()的方法。
public static void main(String [] args){}
这个程序中没有用到args,但是java编译器要求必须这样做,因为args要用来存储命令行参数。

Java最强大的优势之一就是它具有庞大的标准类库集。

2.7.1 编译和运行
要编译、运行程序,首先必须要有一个java开发环境。比如SUN的JDK。
安装好JDK后,需要设定好路径信息,确保计算机能找到javac和java这两个文件。
build.xml文件,提供一个ant命令,用于自动构建每章的所有文件。安装好ant,便可直接在命令行提示符下键入ant来编译和运行每一章的程序了。可以手工键入javac和java命令安装。

2.8 注释和嵌入式文档
Java两种注释风格:一种是传统的C语言风格的注释——C++也继承了这种风格。例:/* 开始,随后是注释内容,可跨越多行,最后以*/结束。编译时,/*和*/之间的所有东西都会被忽略。第二种风格的注释源于C++,单行注释,以一个“//”起头,知道句末。

2.8.1 注释文档
代码文档撰写的最大问题,大概就是对文档的维护了。如果文档与代码是分离的,那么在每次修改代码时,都需要修改相应的文档,这是相当乏味的一件事。解决方法:将代码同文档“链接”起来,将所有东西都放在同一个文件内,使用一种特殊的注释语法标记文档,用javadoc提取注释,并转换成有用的形式。Javadoc是JDK安装的一部分,采用java编译器的某些技术,查找程序内的特殊注释标签,解析标签标记的信息,将毗邻注释的类名或方法名抽取出来,如此,就可以用最少的工作量,生成相当好的程序文档。
Javadoc输出的是一个HTML文件。想对javadoc处理过的信息执行特殊的操作(例如,产生不同格式的输出),那么可以通过编写自己的被称为“doclets”的javadoc处理器来实现。
分享到:
评论

相关推荐

    《Java语言程序设计》教案设计.doc

    "《Java程序设计实例教程》(第1版),志成,人民邮电,2014年 " "任课教师 "宋晓燕 " "课 "知识目标:使学生掌握Java语言的基本理论、掌握面向对象的基本概 " "程 "念和使用面向对象技术进行程序设计的基本思想;...

    javascript 使用手册

     第四,两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。  第五...

    asp.net知识库

    体验.net2.0的优雅(四):Provider、策略、控制反转和依赖注入 泛型最佳实践 asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——性能和灵活性兼备的方法 泛型技巧系列:用泛型...

    Android程序设计基础

     阅读本书唯一的前提条件,是具备对Java编程或类似面向对象语言(比如说C#)的基本理解,不需要拥有为移动设备开发软件的经验。实际上,如果你确实有这方面的经验,反倒应该忘记它们。Android是如此与众不同,因此...

    代码之美(中文完整版).pdf

    第5章 正确、优美、迅速(按重要性排序):从设计XML验证器中学到的经验 5.1 XML验证器的作用 5.2 问题所在 5.3 版本1:简单的实现 5.4 版本2:模拟BNF语法——复杂度O(N) 5.5 版本3:第一个复杂度O(log N)的优化 5.6 ...

    C#微软培训资料

    第四章 数 据 类 型 .28 4.1 值 类 型 .28 4.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 小 结 .42 第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 第六章 类 型 转 换 .48 ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架 1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用...

    基于J2EE框架的个人博客系统项目毕业设计论...

    第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架 1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    第五单元:国际3S最新技术应用--介绍ArcGIS9高级应用与river tools河流地形绘制软件及GIS最新技术在水文、地质和生态与在可持续发展中的应用及答疑:(4-6课时) 1)地统计应用与ArcGIS地统计分析;2). 遥感与GIS...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    第四章 页面自适应机制设计 23 4.1页面兼容策略 23 4.2 页面自适应策略 24 4.2.1设备自适应 24 4.2.2.浏览器自适应 25 4.3 模块实现 25 4.3.1根据适口属性设计响应式布局: 26 4.3.2同分辨率范围内的流式布局设计 26...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

Global site tag (gtag.js) - Google Analytics