• 抽象类的叙述:


    • 抽象类不可以实例化
    •  
       
      抽象类其实是可以实例化的,但是他的实例化方式不是通过new方式来创建对象,而是通过父类的引用来指向子类的实例来间接地实现父类的实例化(因为子类要实例化前,一定会先实例化他的父类。这样创建了继承抽象类的子类的对象,也就把其父类(抽象类)给实例化了).但是:接口是不能被实例化的(接口压根就没有构造函数)。
       
       

      自己总结的,有遗漏请私我指正,不知道为什么网上都说接口没有Main方法,然而我用IDEA和eclipse是可以的,不知道是不是我理解错了。

      jdk1.8之前

      接口

      1.多实现

      2.变量类型默认且只能为为public static final

      3.函数类型默认且只能为public,只能有public类型的静态成员函数

      4.非静态成员函数没有方法体,静态成员函数有方法体

      5.子类必须实现所有接口函数

      6.可以有main方法;可以new一个接口,需要在方法体中实现所有接口函数

      7.没有构造器

       

      抽象类

      1.单继承

      2.变量类型不限(静态变量+非静态变量)

      3.函数类型不限(静态函数+非静态函数)

      4.非静态函数包含没有方法体的抽象函数. 有方法体的普通函数

      5.子类可以不覆写父类的抽象方法,但子类也要申明为抽象类;子类可以选择覆写父类的非抽象方法

      6.可以有main方法;不可以new一个抽象类

      7.可以有构造器

       

      Jdk1.8

      接口中可以有default类型的方法,实现类可以选择实现该方法

      意义:默认方法的主要优势是提供一种拓展接口的方法,而不破坏现有代码。另一个优势为该方法是可选的,子类可以根据不同的需求Override或默认实现。

       
       
  • 相关阅读:
    CodeForces 103D 分块处理
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    HYSBZ 1588 营业额统计
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    ACM学习历程—POJ3565 Ants(最佳匹配KM算法)
  • 原文地址:https://www.cnblogs.com/zhuyeshen/p/11017789.html
Copyright © 2020-2023  润新知