三大特性: 一 封装:★★★★★ 概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处:1、将变化隔离;2、便于使用;3、提高重用性;4、安全性。 封装原则:将不需要对外提供的内容都隐藏起来,提供公共方法对其访问。 二 继承 ★★★★★ 好处: 1、让类与类之间产生了关系,提高了代码的复用性。2、 提供了另一个特征多态的前提。 特点:1、java只支持单继承,不支持多继承,但java保留这种机制,并用另一种体现形式来完成表示:多实现 2、java支持多层继承:B继承A、C继承B 子父类中变量的特点: 如果子类中出现非私有的同名变量时,子类要访问本类变量用:this,访问父类变量用:super this和super的使用: 1、成员变量:this.变量名------表示当前类的变量 super.变量名----父类的变量 2、用在构造方法中:this(参数)----本类的构造方法 super(参数)----父类的构造方法 3、用在成员方法中:this.方法名()----本类的方法 super.方法名()-----父类的方法 子父类中函数的特点: 1、当子类出现和父类一模一样的函数时,父类中的函数会被子类的函数所覆盖 2、子类覆盖父类,必须保证子类权限大于父类权限 重载:同一个类中,方法名相同,参数列表不同,与返回值类型无关。 重写(覆盖):子父类中,方法名、返回值、参数列表都相同。 什么时候用重写?或者说为什么要用重写?或者说重写的应用? 重写存在于子父类中,当子类需要父类的功能,而功能主体子类有自己特有的内容时,可以重写父类中的方法, 这样既沿袭了父类的功能,又定义了子类特有的功能。 子父类方法重写注意的问题: 1、父类中的方法不可以被重写。 2、子类方法访问权限一定要大于等于父类方法访问权限。 3、静态方法只能被静态方法重写。 注意: 子类中所有的构造方法都会默认访问父类中的无参构造方法,因为每一个子类构造内第一行都有默认的语句super(); 为什么?因为子类会自动具备父类中非私有的数据,那么这个数据的初始化靠父类来完成。所以,会先调用父类的构造方法对数据进行初始化。 如果父类中没有无参构造方法,那么子类的构造方法内,必须通过super语句指定要访问的父类中的构造方法。 如果子类构造方法中用this来指定调用子类自己的构造方法,那么被调用的构造方法也一样会访问父类中的构造函数。
|