-
只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
-
源文件声明规则
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则:
(1)一个源文件中只能有一个public类
(2)一个源文件可以有多个非public类
(3)源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
(4)如果一个类定义在某个包中,那么package语句应该在源文件的首行。
(5)如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
(6)import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
类有若干种访问级别,并且类也分不同的类型:抽象类和final类等。
除了上面提到的几种类型,Java还有一些特殊的类,如:内部类、匿名类。
类变量
(1)与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型;
(2)默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化;
(3)静态变量可以通过:ClassName.VariableName的方式访问。
实例变量
(1)实例变量可以声明在使用前或者使用后;
(2)实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
(3)实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。
局部变量
(1)局部变量是在栈上分配的;
(2)局部变量没有默认值,所以被声明后,必须初始化,才可使用。
网友评论