A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态前提
(1)前提条件:
                A:要有继承关系。
                B:要有方法重写。(可以没有,如果没有这个多态就没什么意义)
                C:要有父类引用指向子类对象

(2)在使用多态时,成员的特点。

//                A:        成员变量
//                        编译看左边(其实就是程序包不报错),运行看左边(就是打印出来的结果是谁)。
//                B:成员方法
//                        编译看左边(其实就是程序包不报错),运行看右边(就是打印出来的结果是谁)。
假如说子父类中符合了上述三点多态前提:那么Fu f =new Zi();在用f对象掉成员的时候
如果调用的是成员变量那么打印出来的是父类的成员,如果调用的是成员方法那么打印出来的是子类的成员方法。

(4)多态的弊端:可能会遇到类型转换异常, 如果遇到了规则如下:在对一个对象进行转型的时候只可以把他转换成它原本的类型,或者是其父类的类型。
                Fu f = new Zi(); //向上转型    把小类型转换成到大类型
                Zi z = (Zi)f; //向下转型       把大类型转换成到小类型
(5)多态的好处:
                可以提高代码的扩展性和可维护性。

知识点2:抽象类
什么是抽象类呢? 就是用关键字abstract修饰的类
什么是抽象方法? 这个方法没有方法体,并且这个方法用关键字abstract修饰
抽象类的特点:
                A:抽象方法和抽象类用关键字abstract表示。
                B:有抽象方法的类一定是抽象类(或者接口)。
                  抽象类中不一定有抽象方法。
                C:抽象类不能被实例化。
                        那么,怎么实例化呢?
                                通过子类对象进行实例化。
                D:如果一个类继承抽象类,那么
                        这个类要么本身也是抽象类。
                        这个类重写父类的所有抽象方法。
抽象类中的成员特点:
              抽象类中 成员变量:即可以有常量也可以有变量
              抽象类中 成员方法:可以有抽象方法,也可以有非抽象方法。 抽象方法它是强制要求子类做某些事的。非抽象方法是为了提高代码的复用性。
              抽象类中 构造方法:是有构造方法的,它构造方法的作用是,在子类访问父类数据前对父类数据进行初始化的。


知识点3:接口
如何定义一个接口  interface接口名
类与接口的关系是实现关系 用关键字implements来表示

接口的特点:
                A:接口不能被实例化。
                B:接口中的方法:
                        要么被子类重写。
                        要么子类也是抽象类。

接口的成员特点:
                成员变量:接口中只有常量。
                                  因为接口的成员变量有默认修饰符:
                                        public static final
                                        推荐:永远自己给出修饰符。
                构造方法:
                                  没有构造方法。
                                  任何类如果没有继承父类,那么这个类就继承自Object类。
                成员方法:接口中的方法都是抽象的。
                                  因为接口中的成员方法有默认修饰符:
                                        public abstract

知识点4 类和接口的关系
类和接口的关系:

        类与类关系:
                继承关系。而且只能单继承,可以多层继承。

        类与接口的关系:
                实现关系。可以单实现,也可以多实现。
                并且还可以在继承一个类的同时,实现多个接口。

        接口与接口的关系:
                继承关系。可以单继承,也可以多继承。

1 个回复

倒序浏览
学习学习!顶一个!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马