您的位置:首页 > 编程语言 > Java开发

Java Head First 第七章 继承与多态

2017-12-04 13:53 197 查看
1.继承
(1)找出具有共同属性和行为的对象
(2)设计出代表共同状态与行为的类
(3)决定子类是否需要让某项行为(也就是方法的实现)有特定不同的运作方式
(4)通过寻找使用共同行为的子类来找出更多抽象化的机会
2.继承“是一个”的意思
 A           B继承A,可以说B就是A,B拥有A所有的方法
 ↓ 
 B
3.在子类中打算沿用父类的方法,然后再加上额外的行为,可用super关键字来取用父类的方法
例:public void  roam ( ){
Super.roam( );
//my own roam stuff
}
先执行super版的roam,然后再回来执行sub版的自定义的行为或功能
4.public的成员会被继承
5.private的成员不会被继承
6.对象的声明、创建与赋值
Dog myDog=new Dog( );
Dog:引用类型
Dog ( ):对象类型
引用类型与对象类型必须相符。
但是,在多态下,引用与对象可以是不同的类型,因为在运用多态时,引用类型可以是实际对象类型的父类。
例:Animal myDog=new Dog( );
参数和返回类型可以多态。
7.final的用法
(1)修饰类
Final修饰一个类,表这个类不能被继承
例:final class people{
......
}
class  a extends people{ }  //将报错
(2)修饰方法
Public final void play( ){ }
目的:把方法锁定,以防任何继承类修改它的含义                                      
(3)修饰变量
(1)对于基本数据类型的变量,其数值一旦在初始化后便不可修改,对于引用类型的变量也同理。
Class a {
Private final int i =0;   //final修饰i
Public Man ( ){
      i=1;   //将报错
Final  Object  obj =new Object ( );  //final修饰obj
       Obj=new Object ( );   //将报错
  }
}
8.方法的重载
重载版的方法只是刚好有相同的名字的不同方法,它与继承或多态无关,与覆盖不一样。
(1)返回类型可不同
(2)不能只改变返回类型(参数也得改)
(3)可更改存取权限
方法重载与重写的区别:
方法重载:(1)方法名必须相同
           (2)参数必须不同
           (3)返回类型可相同也可不相同
方法重写:(1)相同名称(方法名)
          (2)相同参数    (不能存在于同一个类中)
方法重写也称为覆盖。
若子类中的方法与父类中的某一方法具有相同的方法名,返回类型和参数也一样,则新方法覆盖原有的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 入门 继承 多态