|||
类和对象
1 在Java语言中,如果声明变量为final,那么创建的将是一个常量,常量的值在程序中是不能被改变的。习惯上变量名全部大写。
2 return语句可以做两件事情,首先,它的意思是”退出这个方法,我干完了”。其次,如果方法返回了一个值,那么这个值必须放在return后面。
3 构造方法是类的一种特殊的成员方法,凡创建对象都应调用构造方法。构造方法在创建对象时初始化对象,它的名称与类名相同,并且在语法上与方法相似。然而构造方法没有返回值。构造方法的用途是在对象建立时为对象的成员变量赋初值。用于在new运算符开辟了新建对象的内存空间之后,调用它初始化这个新建对象。构造方法在对象实例化时自动调用,而不是由程序显示地调用。无论定义与否,所有的类都有构造方法,因为Java自动提供了一个默认的构造方法来初始化所有的成员变量为0。当然,一旦定义了自己的构造方法,就不会再使用默认的构造方法了。
4 main方法不属于任何一个类,它只是寄存在其中一个类当中。
5 为了防止出现没有初始化的对象,对象声明经常和对象的实例化及初始化放在同行。
6 对象的实例化必须通过操作符new实现。
7 初始化顺序:在一个类里,初始化的顺序是由变量在类内的定义顺序决定的。即使变量定义大量遍布于方法定义的中间,那些变量仍会在调用任何方法之前(包括构造方法)得到初始化。
8 每个被重载的方法的参数类型或数量必须不同。
9 在Java语言中,参数传递方式有两种,一种是向方法传递简单类型的参数,如int或double等,这种参数传递方式称为值传递,即在方法中对形参的改变不会影响到实参;另一种是向方法传递对象,这种参数传递方式称为引用传递,即在方法中对形参的修改会影响到实参。
10 作为一种支持在整个Internet上动态装载运行的语言,Java不支持全局变量和全局方法以避免名字上的冲突。
11 一个Java源代码文件可以包含一个或多个类,但是每个源代码文件中只能有一个类被声明为public类型,且这个类必须和源代码文件同名。
12 在给包取名时应考虑包名称的唯一性,建议使用所在公司的Internet域名或者电子邮件地址的字符串序列作为包名的前缀,因为这两个名字都是全球唯一的。
13 包的使用:
第一种方法是通过在类名前加上包的全名,即用类的全名来引用包中的类,例如:
java.lang.refrect.Array.getByte(nameArray,5);
显然,用类的全名访问一个类相当麻烦。
在Java程序中最常用的一种简单方法是使用导入信息的办法,通过使用import信息,程序中可以不用在类名前加上包名。
导入信息的格式为:
import 包名;
import 包名.类名;
import 包名.*;
第一种导入形式,例如:”import java.lang.reflect;”
如果在程序中要使用java.lang.reflect包中的类,可以用”reflect.类名”的形式来引用,例如:
reflect.Array
第二种导入方式明确导入了一个类,例如:
import java.lang.reflect.Array;
在程序中可以使用Array来引用java.lang.reflect.Array。
第三种方式最为常用,它导入了一个包中的所有类,例如:
import java.lang.reflect.*;
需要注意使用import包和.*的方式并不会影响程序的运行效率。编译器只是利用导入信息来处理类,而不是真正地加载这些类。Java和C/C++语言中的include不同,C/C++语言中的include语句在编译时会把包含的文件实际地嵌入到程序中。
在一个Java程序中可以有多个导入信息语句,它们的位置应该在package语句之后,第一个类定义之间。
14 static关键字:静态成员变量的初始化优先于非静态成员的初始化,且由于静态成员的存储的特殊性,所以静态成员只能在该程序中执行一次,而非静态成员可以按照程序执行的过程进行执行。
15 数组
(1) 数组是相同数据类型(数据类型可以为任意型)的有序集合;
(2) 数组也是对象。数组元素相当于对象的成员变量;
(3) 数组长度是确定的,不可变的。如果越界,则
报:ArrayIndexOutofBoundsException
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 06:56
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社