java 课堂笔记

1.定义子类用extends关键字,如果没有显示声明类的父类,那么类的父类缺省认为是Object
2.父类的public成员,任何包中子类都可以继承,访问权限不变
   父类的protected成员,任何包中子类都可以继承,访问权限不变
   父类的缺省成员,只有同一个包中子类可以继承,访问权限不变
3.方法重写:子类定义一个和父类同名的方法,返回值类型相同或更小,参数列表相同
   3.1父类的静态方法不能在子类中重写为非静态方法
   3.2父类的非静态方法不能在子类中重写为静态方法
   3.3静态方法不能重写
4.成员属性覆盖:子类定义一个和父类同名的属性(类型相同)
5.方法重写和属性覆盖后,用子类对象访问得到的是子类重写和覆盖的成员,如果想访问父类的,使用super关键字,但是,super不能在static 方法中使用
6.子类不能继承父类的构造方法;
   子类构造方法调用时,如果没有显示调用父类构造方法,会首先自动调用父类不带参数构造方法,然后执行子类构造方法体;
  如果要显示调用父类构造方法,使用super关键字,而且要放在构造方法体中做第一条语句
7.多态性:在使用继承时,使用子类对象为父类对象赋值,使用父类对象直接访问从父类继承的成员变量,得到的是父类中变量值,使用父类对象访问子类重写的方法,访问到的是子类重写过的方法(方法中this指针指的是子类对象),但是使用父类对象访问不到子类新增加成员;要想访问子类覆盖的属性和新增加成员必须使用对象造型(把子类对象恢复本来面目)
8.对象造型能够成功的条件:父类对象的实际面目就是这个子类对象,
 可以用instanceof运算符判断对象的本来面目

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章