Java语言具备单继承的特色,不支持多继承,每一个子类只有一个直接父类。java
子类会继承父类中全部非private修饰的属性和方法,且不能得到父类的构造器。this
class subClassName extends superClassName[implements interfaceNameList]{ //类体 } extends//继承关键字
方法的重写是指在子类中使用和父类彻底同名的方法,且方法的参数(个数,类型,排列顺序)和返回类型彻底同样。code
重写方法时,子类的访问控制权限不能低于父类的访问控制权限。对象
使用super关键字能够访问被子类隐藏或重写成员,也能够访问未被隐藏的成员。继承
若是没有显式的使用super关键字调用父类的构造方法,系统会隐含调用super这个方法。接口
当在子类构造器中调用父类构造器时,super关键字应该做为子类构造器方法体的第一个执行语句。class
super.方法名([参数表]);
super.成员变量名;
super([参数表]);
除了默认指代当前实例对象,this还有其余用法。import
若是一个类中定义了多个构造方法,可使用this在某一个构造方法中引用其余构造方法。变量
抽象类是指只能被继承而不能生成具体对象的类。List
抽象类中能够包含抽象方法,也能够不包含抽象方法。但只要一个类包含一个抽象方法,这个类就是抽象的。
抽象类只能做为父类使用,由它派生的子类必须实现抽象类的全部抽象方方法。
abstract class className{ //属性 //抽象方法 [访问控制修饰符]abstract 返回值类型 方法名([形参列表]); //非抽象方法 [访问修饰控制符]返回值类型 方法名([形参列表]){ } }
抽象方法仅仅为全部子类定义一个统一的接口,具体实现经过派生类对抽象方法的覆盖来实现。
抽象方法只有声明,没有方法体,以";"结尾。
构造方法,静态方法,私有方法,final方法不能被声明为抽象方法。
abstract datatype AbstractMethodName(parameterList);
被final修饰的类,终极类不能拥有子类。
被final修饰的方法,终极方法不能被子类重写。
final修饰的变量,终极变量取值在整个程序中不能改变,即常量。
接口是一种特殊的抽象类。
经过接口能够实现类间多重继承的功能。
与类的继承区分,对接口的继承称为实现。
接口中不能定义变量,只能定义final修饰的常量。
接口是一个抽象类,接口中的方法都是抽象方法。
interface关键字
[public] interface interfaceName[extends 父接口名列表]{ //数据成员声明 [public][static]final datatype variableName = Value; //抽象方法声明 [public][abstract][native]return DataType methodName(parametersList); }
implements关键字
public class Student implement people{ }
包是一种松散的类的集合,能够将各类类文件组织起来。相似于其余语言的命名空间,当一个类须要在多个地方重用时,应该把它放在包中。
缺省时,系统为每个.Java源文件建立一个无名包,同个Java文件每一个类都属于同一个包。
建立包的文件应该放在Java源文件的的第一个语句。
经常将包放在JAR文件中,一个JAR文件每每会包含多个包。
package packageName; //多级子目录 package packageName1,packageName2,packageName3;
//加载包中指定的类 import 包名.类名; //加载包中的全部类 import 包名.*;