抽象类 如果一个类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现,这种没有任何具体的实例,只具有一些抽象的概念,那么这样的类称为抽象类。 其语法: class<class_name>{ <method_name>(parameter-list); } abstract表示抽象的,method_name表示方法名,抽象方法没有方法体。 abstract关键字只能用于普通方法,不能用于static方法或者构造方法中。在抽象类必须包含至少一个抽象方法,而且所有抽象方法不能有具体的实现,而应在他们的子类中实现所有的抽象方法(要有方法体)。任何使用new创建抽象类对象的尝试都会导致编译时错误。 内部类 在一个类内部的类,我们称之为内部类。内部类拥有外围类的所有元素的访问权限。内部类分为:实例内部类、静态内部类和成员内部类。 内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类声明成静态的,就不能随便访问外部类的成员变量,仍然是只能访问外部类的静态成员变量 内部类注意: 外部类只有两种访问级别:public和默认;内部类则有四种:public、protected、private和默认。 内部类不能和外部类重名 在外部类以外的其他类则需要通过内部类的完整类名访问内部类