1.引用类型数组 (下):
-
给引用类型数组元素赋值时,需要new一个对象;
-
访问引用类型数组元素的数据时,需要元素打点;
2.继承:
-
代码不用自己写,自己也能用。代码复用。
-
通过extends实现
-
超类/父类:包含共有的属性和行为
-
派生类/子类:包含特有的属性和行为
-
派生类可以访问派生类,超类。但超类只能访问超类,不能访问派生类
-
class Aoo { int a; void show(){ } } class Boo extends Aoo { int b; void test(){} } public static void main(String[] args) { Aoo o= new Aoo();//超类只能访问超类 o.a=1; o.show(); Boo b =new Boo();//派生类可以访问派生类,还可以访问超类 b.b=3; b.test(); b.a=7; b.show();
-
一个超类可以有多个派生类,但是 派生类只能继承一个超类
-
继承具有传递性。a——b——c
-
继承只能继承超类里的成员变量和普通方法,不包括构造方法。超类的构造方法是被派生类通过super来调用的。
-
java规定:构造派类时必须先构造超类
-
若在派类构造方法中没有调用超类构造方法,则系统会默认提供super()无参构造方法在派生类如果自己调用了超类的构造方法,则系统不会提供默认无参构造方法super()调用
-
super()调用超类构造方法,必须位于派生类构造方法的第一位
3.super:
指代当前对象的超类对象
super的用法:
-
super.成员变量名------------------指向超类中的成员变量
-
super.方法名()-------------------------------指向超类的方法
-
super()----------------------------------------指向超类的构造方法
-
4.向上造型:
-
超类型的引用指向派生类的对象
-
能点出什么,看引用的类型
//超类 引用 指向 派生类的对象 SeaObject o1 =new ObserveSubmarine; o.wigth//这是访问超类的变量
-
何时向上造型:
-
多种角色能干的事都一样的时候,可以将那多种角色统一造型到超类数组中,实现代码复用
-
例如:侦察潜艇,鱼雷潜艇,水雷潜艇,都能移动,都能被炸弹打,说明干的事情都一样,所以就可以将三种潜艇统一造型到SeaObject超类数组中,这样用一个 for就可以了
-
-
将超类作为返回值或参数,传递派生类对象或者返回派生类对象,也是在向上造型