《21天学通Java(第6版)》—— 1.7 问与答

1.7 问与答

21天学通Java(第6版)
问:实际上,方法是在类中定义的函数。既然它们无论从外观和行为方面都类似于函数,为什么不将它们叫做函数呢?

答:有些面向对象编程语言确实将它们叫做函数(C++将它们叫做成员函数)。其他一些面向对象语言将位于类(对象)内、外的函数区分开来,因为在这些语言中,使用不同的术语对理解每个函数的工作原理至关重要。因为其他语言有这种区别,同时术语“方法”在面向对象技术中很常用,所以Java也使用这个术语。

问:实例变量和实例方法同类变量和类方法之间有何区别?

答:在Java程序中,您所做的几乎每项工作涉及的都是实例(也叫对象)而不是类。然而,对于有些行为和属性,存储在类本身中要比存储在对象中更合理。例如,java.lang包中的Math类包含一个名为PI的变量,它存储的是兀的近似值。这个值是不变的,因此这个类的不同对象没有必要保留自己的PI变量。另一方面,每个String对象都包含了一个length( )方法,它计算该String中的字符数。这个值对于String类的每个对象都可能不同,因而它必须是实例方法。

类变量始终驻留在内存中,直到Java程序结束运行,因此应慎用类变量。如果类变量指向一个对象,该对象也将始终驻留在内存中。这是一种导致程序占据太多内存且运行缓慢的常见问题。

问:如果在Java类中导入整个包,是否会增大这个类编译后的尺寸?

答:不会。术语“导入”容易让人误解。关键字import不会将指定类或包的字节码加入到当前创建的类中,而只是使得在一个类中引用另一个类更容易。

通过导入,在Java语句中引用类时,可使用简短的名称,这是导入的唯一目的。在代码中,如果总是必须指定完整的类名,如javax.swing.JButton和java.awt.Graphics,而不是JButton和Graphics,那将非常繁琐。

时间: 2024-10-29 10:24:39

《21天学通Java(第6版)》—— 1.7 问与答的相关文章

《21天学通Java(第6版)》—— 1.5 组织类和类行为

1.5 组织类和类行为 21天学通Java(第6版) Java面向对象编程还涉及另外三个概念:继承.接口和包,这些都是用于组织类和类行为的机制. 1.5.1 继承 继承是面向对象编程中最重要的概念之一,直接影响您如何设计和编写Java类. 继承是一种机制,让一个类能够继承另一个类的所有行为和属性. 通过继承,一个类可自动拥有现有类的所有功能,因此只需定义与现有类不同的地方. 通过继承,所有的类(无论是您创建的类,还是Java类库中的类)都以严格的层次结构来组织. 继承其他类的类叫子类,被继承的类

《21天学通Java(第6版)》—— 2.5 表达式和运算符

2.5 表达式和运算符 21天学通Java(第6版) 表达式是一条能够提供值的语句.最常见的是数学表达式,如下面的例子所示: 这3条语句都是表达式-它们提供了可被赋给变量的值.第1条语句将字面量3赋给变量x.第2条语句将变量x的值赋给变量y.在第3条语句中,乘法运算符*用来将x和y相乘,结果存储在变量z中. 表达式可以是任何变量.字面量和运算符的组合,也可以是方法调用,因为方法能够将一个值返回给调用它的类或对象. 您知道,表达式所提供的值称为返回值.在Java程序中,可将这个值赋给变量或以其他方

《21天学通Java(第6版)》—— 导读

前言 21天学通Java(第6版) 有些革命出其不意地吸引了全世界的眼球.Twitter.Linux操作系统和电视剧<Cupcake Wars>的异军突起颠覆了传统思维模式. 而Java语言的巨大成功却在人们的意料之中.自从Java语言于17年前面世以来,人们就对它充满殷切的期望.当Java融入到Web浏览器时,公众以无比的热情欢迎这种新语言的到来. Sun公司创始人Bill Joy在介绍这种新语言时,毫不掩饰其孤注一掷的心态:"15年来,我们一直力图开发出一种更佳的编程语言和环境,

《21天学通Java(第7版)》—— 2.2 变量和数据类型

2.2 变量和数据类型 在第1章创建的应用程序MarsRobot中,您使用变量来跟踪信息.变量是程序运行时能够存储信息的地方.可在程序的任何地方对其中的值进行修改--因此被称为变量. 要创建变量,必须提供名称并指定它存储的信息类型.还可以在创建变量的同时给它指定初始值. 在Java中,有3种变量:实例变量.类变量和局部变量. 正如第1章中指出的,实例变量用于定义对象的属性. 类变量定义类的属性,适用于类的所有实例. 局部变量用于方法定义乃至方法中更小的语句块中.仅当Java虚拟机执行这些方法或语

《21天学通Java(第6版)》—— 2.4 字面量

2.4 字面量 21天学通Java(第6版) 除变量外,还可以在Java语句中使用字面量.字面量可以是任何直接表示一个值的数字.文本或其他信息. 下面的赋值语句使用了字面量: 其中的字面量2012表示整数值2012.数字.字符和字符串都是字面量.Java有一些特殊类型的字面量,它们表示各种数字.字符.字符串和布尔值. 2.4.1 数字字面量 Java有几种整型字面量.例如,数字4是一个int类型的整型字面量,可将其赋给byte或short类型的变量,因为它足够小,在这些整数类型的取值范围内.位于

《21天学通Java(第6版)》—— 1.10 练习

1.10 练习 21天学通Java(第6版) 为巩固今天介绍的知识,请尝试完成下面的练习. 1.在VolcanoApplication类的main( )方法中,再创建一个名为virgil的VolcanoRobot对象,设置其实例变量,并将它们的值显示出来. 2.为国际象棋中的棋子创建一个继承层次结构,并决定在层次结构的什么位置定义实例变量color.startingPosition.forwardMovement和sideMovement.

《21天学通Java(第6版)》—— 1.4 属性和行为

1.4 属性和行为 21天学通Java(第6版)Java类包含两种不同的信息:属性和行为. 这两者在VolcanoRobot中都有,这是今天将作为类实现的项目.该项目使用计算机模拟火山探测工具,它模仿的是NASA的"遥控机器人研究"计划中用来在火山裂缝中进行研究探测的Dante II机器人. 创建该程序之前,您需要学习一些如何使用Java编写面向对象程序的知识.刚接触时,面向对象概念可能难以理解,但本书将给您提供大量将这些概念付诸实践的机会. 1.4.1 属性 属性(attribute

《21天学通Java(第6版)》—— 第 2 章 Java编程基础

第 2 章 Java编程基础 21天学通Java(第6版)Java程序是由类和对象组成的,而对象和类又是由方法和变量组成的.方法是由语句和表达式组成的,表达式又由运算符组成. 至此,您可能担心Java就像俄罗斯套娃.每个洋娃娃里边都有一个更小的洋娃娃,而后者同前者一样错综复杂. 本章将消除大洋娃娃的困扰,揭示Java编程的最小元素.本章暂时撇开类.对象和方法,介绍单行Java代码中的基本元素. 这包括以下内容: Java语句和表达式:变量和基本数据类型:常量:注释:字面量:算术运算符:比较运算符

《21天学通Java(第6版)》—— 2.9 小测验

2.9 小测验 21天学通Java(第6版)请回答下述3个问题,以复习本章介绍的内容,答案见附录F. 1.下面哪个是合法的布尔值? A."false": B.false: C.10. 2.下面哪条不属于Java的变量命名约定? A.除第一个单词外,变量名中其他单词的首字母都大写: B.变量名的第一个字母小写: C.所有字母都大写. 3.下面哪种数据类型的取值范围为−32768-32767? A.char: B.byte: C.short.