#博学谷IT学习技术支持##博学谷IT学习技术支持#
多态
1.多态:多态是同一个对象在不同时刻表现出来的不同形状
2.多态的前提:
1.有继承关系/实现关系
2.有方法重写
3.有父类引用指向子类对象
3.多态的访问特点:
1.构造方法:同继承一样,子类会通过super关键字访问父类构造方法。
2.成员变量:编译看左边(父类),执行看左边(子类)。
3.成员方法:编译看左边(父类)执行看右边(子类)。
注意:2.3访问方法不同是因为成员方法有重写,成员变量没有重写。
4.好处与弊端:
好处:提高了程序的扩展性。
弊端:不能使用子类特有的功能。
5.多态的转型:
1.向上转型:从子到父(父类引用指向子类对象)
例:Fu f = new zi ();
2.向下转型:从父到子(父类引用转为子类对象)
例:zi z = ( zi ) f;
内部类
1.内部类概述
内部类:就是在一个类中在定义一个类
举例:在A类中定义一个B类,那么B类就是内部类。
格式如下:
内部类访问特点:
1.内部类可以直接访问外部类的成员,包括私有
2.外部类要访问内部类的成员,必须创建对象
代码如下:
2.成员内部类
1.成员内部类的定义位置
在类中方法,跟成员变量是一个位置
2.外界创建成员内部类格式
格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;
举例:Outer.Inner oi = new Outer().new Inner();
3.私有成员内部类
将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化,私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。
静态成员内部类
举例:
4.静态成员内部类访问格式:
外部类名.内部类名 对象名 = new 外部类名.内部类名();
5.静态成员内部类中的静态方法:
外部类名.内部类名.方法名();
举例: