一、类的声明的一般形式
1.类修饰符
public:该类能被其他任何类调用。
abstract: 声明是抽象类,不能被实例化。
final:该类不能被继承,也就是说这个类没有子类。
其他:如果没有声明默认为包访问性(同包内可以访问)。
2.说明一个类的父类
class 类名 extends 父类名{ }
3.说明一个类所实现的接口
…implements Interfaces1,Interfaces2…Interfacesn
二、成员变量的声明
1.一般声明
[可访问性] [static] [final] type name;
2.可访问性修饰符
private:只能被同一类访问。
protected:不能被不同包非子类访问。
public:能被所有类访问。
默认:只能被同包中的类访问。
注:(父类的protect变量必须被子类继承过来后,作为子类的对象成员使用,而不是直接声明父类对象直接调用。)
三、类方法声明和实现
1.方法声明的一般格式
[访问性修饰][abstract][static][final] 返回类型 name(参数列表)
[throws 异常类名] { }
2.方法修饰符
abstract :抽象方法,没有方法体和具体操作实现部分的方法。
注:所有的抽象方法必须存在于抽象类中,但是抽象类不一定只含有抽象方法,也存在非抽象方法。一个抽象类的子类如果不是抽象类就必须事先所有父类中的抽象方法,否则依然为抽象类。
static:类方法,调用这个方法可直接用类名作为前缀,属于整个类的方法,非static是属于某个对象的的方法。
final:最终方法,不能被覆盖,不能被当前子类重新定义的方法。
默认:一般方法。
3.方法的返回类型
一个方法必须声明它的返回类型,如果没有返回值也必须声明返回类型void
当return带有返回值时,它与方法定义返回类型关系必须符合:
①方法声明返回类型是基本数据类型时,返回值必须一致
②方法声明返回一个类时,返回与声明的返回类相同或者为其子类。
③方法声明为一个接口,返回对象所属的类必须实现这个接口。
4.方法的重载
方法的重载也就是多个方法共享一个名字(多态性),但是重载的方法返回值不一定要相同,包括传入的参数可以从:参数类型、参数顺序、参数个数三个方面来区别同名的不同方法。
5.方法体
null:是一个空变量,用于代指某一个对象,但是这个对象没有实例。
this:表示的是当前类的当前对象本身,更准确来说this代表当前对象的一个引用。
super:表示当前对象的直接父类对象的引用。
四、对象的创建与撤销
1.构造方法的形式
[public] name(参数表){…}
2.构造方法的特殊性;
①构造方法名与类名相同;
②构造方法没有返回类型;
③构造方法不能被修饰符修饰;
④构造方法使用对象应该用new关键字调用构造方法初始化对象。
注:如果一个只类定义了有参数的构造方法,那么就不存在默认的构造方法,若要使用无参数的构造方法就要增加无参数的构造方法。
3.对象声明
要访问或者调用一个方法的成员变量或者方法,需要首先创建这个对象,然后使用“ . ”运算符调用某个成员变量或者方法。
5.程序包
1.包的使用
装载整个包 import package.*;
装载一个类或者接口:import package.a.*;
直接用包名作类名的前缀: package.a;