zoukankan      html  css  js  c++  java
  • 什么是抽象类?什么是抽象方法,接口和抽象类有什么区别?

    1.百度百科的官方解释是:使用了关键词abstract(adj.抽象的)声明的类叫作“抽象类”。所谓的抽象类就是没有实例对象的类。

    那么问题来了,为什么抽象类不能被实例化,因为抽象类中的抽象方法只有名称,没有具体实现方法,无法被实例化,抽象类不能用final来修饰,

    2.“抽象方法”:属于一种不完整的方法,只含有一个声明,没有方法主体。有抽象方法的类一定是抽象类。抽象类中不一定有抽象方法

    举一个例子,百度知道看到的 如果你的程序里面需要用到苹果和梨这2个类..那么你可以分别给出这2个类
    但是你会发现这2个类里面有共同的属性和方法(属性: 都有核.. 方法: 都需要削皮吃...)那么你可以建立抽象类 "水果" 把这些共同的东西都定义在那里. 那么你的2个子类就只需要实其他必要的东东了(味道, 价格...)
    优点: 当你需要对苹果和梨做新的,共同的修改或者添加的时候. 你现在就可以直接对他们的超类 水果 做就可以了。

    3.接口和抽象类有什么区别。

    1. 首先接口方法默认都是public的。所有的方法在接口中不能有实现(据说java8 可以有默认实现了),抽象方法可以是public protected 和default修饰,但是不能被private,static,final,native并列修饰
    2. 一个class可以实现多个接口,但是只能实现一个抽象类。
    3. 在设计来看,抽象是类,接口是行为。

     

  • 相关阅读:
    XML Schema (1)
    xml
    java输入输出流(内容练习)
    Java中I/O的分析
    java File类
    java中Map的用法(HaspMap用法)
    Git
    oracle安装分析
    博客第一天
    正则化 L1 L2
  • 原文地址:https://www.cnblogs.com/xiaosisong/p/10825029.html
Copyright © 2011-2022 走看看