继承,多态,抽象

  1. final的用法:


        final可以修类,该类不能继承
        fianl可以修饰成员方法,该方法不能被重写

  2. 构造方法:


    1)子类中 构造方法,默认的访问父类中的无参构造方法;
    2)父类中的无参构造没有提供,子类如何访问父类中的构造方法?
         方式1:父类中提供无参构造方法
         方式2:通过子类中的super(".."),访问父类中的有参构造
         方式3:在本类中可以通过其他构造方法去访问父类中构造方法:
          this();   final可以变量(成员/局部变量),这个时候变量就变成了一个常量!(常用)

3.

    方法重载和方法重写的区别?
    overload:在同一个类中,方法名相同,参数列表不同(参数个数/参数类型),与返回值没有关系
    override:子类的方法和父类的一模一样,连返回值都一样.


 4.抽象的概述:将功能定义抽象,那么该类就是抽象类!
 
    动物有很多,应该将动物类定义为一个抽象类;动物本身不是一个具体动物,
    猫和狗具体的事物,猫和狗和吃的方法不一样,在动物类中把吃的这个方法,定义为抽象方法,那么这个类就必须定义为抽象类;
    
   java针对将一个类定义为抽象----------->abstract:抽象的意思
 
    抽象类的特点:
      一个类中可以抽象方法.也可以有非抽象方法 
    抽象方法的格式:
      public abstract void method();
 
     抽象类的子类特点:
      子类可以是抽象类,没有任何意义!抽象类不能直接实例化,就不能使用调用调用方法!
     
      子类是非抽象类,必须要重写父类中的抽象方法,然后去使用子类的自己的功能
     父类是一个抽象类,如果要创建对象就必须通过子类进行实现!
     父类进行实例化只能间接子类进行实例化!
    
 5.抽象类中的成员的特点:
 
     成员变量:可以是变量,也可以是常量!(自定义常量)
     成员方法:可以是抽象方法,也可以是非抽象方法
     构造方法:一个抽象类中是可以有构造方法的!
   wKiom1lqH8ii6jcIAAHA5truBwI406.jpg-wh_50   

6.多态:指的是一个事物,在不同时刻状态的一个体现!
 
    水:固态,气态,液态;
    Dog d = new Dog();//创建了一个狗类的对象
    Animal a = new Dog();狗是一个动物
      = new cat();
 
  多态的前提条件:
   1)必须有继承关系
   2)继承一个类的同时,子类中必须有方法重写(使用子类中的方法去覆盖父类中的方法)
    动物类:吃和睡的功能,子类重写父类的方法的原因:使用子类中有具体的功能..
  
   3)父类的引用指向子类对象
    继承的时候:使用子类的:Zi z = new Zi() ;
    Fu f = new Zi() ;将f代表的父类引用指向堆内存的子类的对象!
    向上转型!
    
  多态中的成员访问特点:
    成员变量:
     编译看左,运行看左!
    非静态成员方法:
     编译看左,运行看右
      子类中的方法会覆盖掉父类中的方法
  
    静态的成员方法:
     编译看左边,运行看左边
     (静态和类有关系)
  
    构造方法:始终是给对象进行初始化的!..

wKiom1lqH-TRxTagAAGo0HJvuuQ761.jpg-wh_50

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