一、封装: 1、能够写出标准的实体类;实体类包含:私有化属性、无参构造、满参构造、set和get方法; 2、this关键字。this指代的是类实例化的对象; 举例:Person p = new Person(); this指代的是p;
二、继承: 1、继承的格式:class Zi extends Fu{} 通过extends关键字来实现继承关系; 2、子类继承父类所有成员属性和成员方法,前提条件是成员属性和成员方法不被private修饰; 3、子类不能继承父类的构造方法; 4、子类的super关键字两种用法。 在成员方法中,使用super.show(),可以调用父类的show方法; 子类的构造方法,会默认添加super(),子类的满参构造中,可以使用super(父类属性) 5、方法重写和方法重载的区别 方法重写,发生在继承关系中(不同的类中),方法名、参数、返回值类型必须完全一致,方法体不同; 方法重载,发生在同一个类中,方法名相同,参数不同。例如:无参构造和满参构造就是方法重载; 6、抽象类,包含一个或多个抽象方法的类就是抽象类,抽象类本质还是一个实体类,满足封装中实体类的标准写法; 抽象方法:包含abstract关键字,且没有方法体; 抽象类不能被实例化; 继承抽象类的子类,必须重写抽象类中所有的抽象方法,负责该子类也是抽象类;
三、关键字:final、static用法;访问修饰符 1、被final修饰的基本数据就变成常量,不能再次赋值,且初始化的时候就必须要赋值,常量名称通常全部大写 例如:final int NUM = 123; 2、被final修饰的类,不能被其他类继承;被final修饰的成员方法,不能被子类重写该方法; 3、在类中,被static修饰的成员属性和方法,所有对象共享同一份数据,且优先于对象存在; 4、static修饰的成员属性,被称之为类变量,推荐使用类名打点调用。例如:Person.country 5、static修饰的成员方法,被称之为静态方法,推荐使用类名打点调用。例如:Person.show(); 6、static修饰的方法能否被继承存在争议,但是一定不能重写静态方法; 7、静态方法的应用场景是工具类中; 8、abstract关键字与final和static、private关键字互斥; 9、访问修饰符,在所有关键字中的第一位置,记住protected权限,子类可用访问不同包中的父类的数据;
四、接口: 1、接口的定义:通过interface关键字来定义接口 2、接口成员:静态常量、抽象方法、默认方法、静态方法; int NUM = 10;接口中的这个语句,省略了public abstract final 三个关键字,接口中没有变量; void show(); 接口中的这个语句,省略了public abstract 两个关键字;抽象方法是接口中的核心; 接口中的默认方法,必须加上default关键字,否则会被默认成抽象方法; 静态方法,通过接口名称打点方法名访问,接口中的静态方法不能被继承和重写; 3、接口的实现: 单接口实现:implement关键字,class InterImpl implement Inter,必须重写接口中的所有抽象方法,否则实现类还是一个抽象类; 多接口实现 class InterImpl implement InterA, InterB, 两个接口中抽象方法重复时,重写一个就可以了,默认方法重复时,必须重写默认方法; 继承后再实现接口:class InterImpl extends Fu implement InterA,InterB 父类的继承优先级高于接口的继承; 4、接口的继承:接口支持多继承 interface zi extends InterA,InterB{}