一:构造类
编程时先定义好类,再对类实例化产生对象。类的形式如下:
class declaration{ //类声明部分
class body //类体部分
}
(一)类声明部分
最简单的类声明仅有一个关键字class和一个类名,例如:
class myApp{
...
}
一般的类声明有如下几个部分:
[modifiers] class ClassName [extends SuperClassName][implements InterfaceNames]
其中方括号 的部分是可以省略的。
modifiers部分称为修饰符,可以设置为abstract、final或public
ClassName是所声明的类名,必须是有效的java标识符。
SuperClassName是超类名,extends表明本类是从超类SuperClassName中派生而来的子类。
InterfaceNames是多个接口名,implements表明本类实现(即使用)这些接口。
(1)修饰符abstract、final、public
若用abstract修饰class,表明文本是抽象类,不能直接实例化为对象。抽象类中存在抽象的方法(即未实现的方法),没有方法体,不能直接调用。这种类只能被子类继承。抽象的方法由子类重写,并给出完整的方法体,其声明格式为:
abstract class Myclass{
...
}
如果认为一个类的各子类会用不同方式实现本类的方法,就可以把本类定义为抽象类。
若用final修饰class,表明本类是最终类,不能再有子类,即不能再被继承。其方法不能再被重写,这样保证该类的唯一性,其声明格式为:
final class Myclass{
...
}
如果你认为一个类已经非常完善,不需要在改变,就可以定义为最终类。
若用public修饰class,表明本类是公用类,可以被当前所属包之外的其他类与对象调用,其声明格式为:
public class Myclass{
...
}
定义一个public类一般位于abstract类和final类之前。在一个java编程单元中可以有多个类,但只能有一个类声明具有public标识符。
若修饰符省略在,则表示本类既不是abstract,又不是final,也不是public,而是“友好的”只能在当前包中使用。
(2)extends子句
在类声明中若有