1,继承(extends)的作用(1)提高代码的复用性(2)让类与类之间产生了关系;注意:千万不要为了获取其他类的功能简化代码而继承。必须是类与类之间有所属关系才可以继承。
2,JAVA只支持单继承,不支持多继承,并且支持多层继承;
3,this代表本类对象的引用;super代表父类对象的引用;
4,当子类出现和父类一样的函数时,子类对象调用该函数会运行子函数的内容,如同父类的函数被覆盖一样,这就是函数的另一个特性——重写。
5,当子类继承父类,沿袭父类的功能到子类中,但子类具备该功能,功能内容和父类不一致,这时没必要定义新功能,而是保留父类的功能定义,并重写该功能内容;
6,子类覆盖父类,必须保证子类的权限大于等于父类权限,静态只能覆盖静态
7,重载:只看同名函数的参数列表,重写:子父类方法要一模一样
8,父类中的数据子类可以直接获取,子类的所有构造函数默认都会访问父类中的空参数的构造函数,因为子类每一个构造函数的第一行都有一句隐式super();
9,当弗雷中没有空参数的构造函数,子类必须通过手动super语句指定访问父类中的构造函数,子类的第一行也可以手动指定this来访问本类中的构造函数,子类中至少会有一个构造函数去访问父类的;
10,final:(1)可以修饰类,函数,变量;(2)被final修饰的类不可以被继承;(3)被final修饰的方法不可以被复写;(4)被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,也可以修饰局部变量,常量的书写规范所有字母都大写,如果由多个单词组成,单词间用_连接;
(11),abstract(抽象):(1)抽象方法一定在抽象类中;(2)抽象方法和抽象类都必须被abstract关键字修饰;(3)抽象类不可用new创建对象;(4)抽象类的方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用,如果子类覆盖了部分抽象方法,那么该子类还是一个抽象类;
(12),抽象类中可以不定义抽象方法,不让该类创建对象;