继承

一.继承的概念
    如何去快速生成构造
     alt+shift+s:   选择构造的模板。

   注: 删除当前行  ctrl+D

  二.子类重写父类的方法
    在Java中,实现多态的条件是非常简单的。
    父类(普通类)
      方法(普通方法)


    子类 extends 父类
      方法(普通方法  ----->和父类某个方法同名)


    结论:
    父类  父类对象=new  子类对象();
    父类对象.方法名称()(父子都有)  一定打印出子类方法体内容

  二.1 自己修改模板 template


  二.2  super
       super()父类的构造 
       super.父类的属性 或者方法  。必须是非私有的(protected,public)

  二.3  父类的哪些内容不能被子类继承
      
  三.抽象类和抽象方法的注意事项
    案例:实现不同宠物  吃东西方法
    public abstract class Pet{
   
      public abstract void eat();
    }


    public class Cat extends Pet{
      @Override
      public void eat(){
        syso("dog Eat");
      }
    }

  public class Penguin extends Pet{
      @Override
      public void eat(){
        syso("Penguin  Eat fish");
      }
    }
 
 Pet[] pets=new Pet[2];

 Cat cat=new Cat();

 Penguin penguin=new Penguin();

 pets[0]=cat;
 pets[1]=penguin;
 
 for(Pet pet:pets){
   pet.eat(); 子类重写父类的eat方法 多态的体现
 }

 


  三. 抽象类和抽象方法的注意事项
  1.抽象类中可以有抽象方法,也可以有非抽象方法

  2.抽象方法中没有方法体,直接以分号结束

  3.抽象方法必须在子类中重写,除非子类本身也是一个抽象类

  4.如果用Abstract修饰,那么该类就是抽象类

  5.抽象类不能被实例化

  6.抽象类不能是静态类

  7.抽象类可以有构造

  8.抽象方法只能出现在抽象类中

  9.抽象方法只是用来约束子类方法行为的


  四.final修饰属性,方法,类

   final修饰属性:不能再次赋值
   final修饰方法: 方法不能被重写
   final修饰类,类不能被继承

 public static final String NAME="xxxx"; //常量:不允许修改值


  五.继承关系下子类构造的执行过程
   解析:
   1.从Main---->子类构造不进入方法体

   2.从子类构造------>父类构造

   3.执行父类构造 ,创建了父类对象

   4.回到子类构造,执行构造体

   5.再回到Main。创建出对象

posted @ 2018-03-02 19:03  FANKEXIN  阅读(97)  评论(0编辑  收藏  举报