zoukankan      html  css  js  c++  java
  • 抽象类和接口的区别

    抽象类:抽象类中有抽象方法,普通方法,常量,变量,构造方法,全局常量;使用abstract定义;子类通过extends继承抽象类;一个子类只能继承一个抽象类;一个抽象类可以实现多个接口;模板设计。

    接口:接口中有抽象方法,全局变量;使用interface定义;子类通过implement实现接口;一个子类可以同时实现多个接口;一个接口不能继承一个抽象类,只能实现多个接口;一个接口中可以包含多个抽象类;工厂设计,代理设计。

    抽象类和接口的共同点:两者一起操作可以完成适配器设计,都可以通过对象的多态性,通过子类进行对象的实例化。

    优先使用接口。

    一个抽象类中允许包含一个接口。

    abstract class A{

           public abstract void fun() ;

           interface B{    // 内部接口

                  public void print() ;

           }

    };

    class X extends A{

           public void fun(){

                  System.out.println("****************") ;

           }

           class Y implements B{

                  public void print(){

                         System.out.println("===================") ;

                  }

           };

    };

    public class TestDemo01{

           public static void main(String args[]){

                  A a = new X() ;

                  a.fun() ;

                  A.B b = new X().new Y() ;    ////

                  b.print() ;

           }

    };

    反之,

    interface A{

           public void fun() ;

           abstract class B{    // 内部抽象类

                  public abstract void print() ;

           }

    };

    class X implements A{

           public void fun(){

                  System.out.println("****************") ;

           }

           class Y extends B{

                  public void print(){

                         System.out.println("===================") ;

                  }

           };

    };

    public class TestDemo02{

           public static void main(String args[]){

                  A a = new X() ;

                  a.fun() ;

                  A.B b = new X().new Y() ;

                  b.print() ;

           }

    };

  • 相关阅读:
    关于float和double类型能表示的数据范围和精度分析
    P2737 [USACO4.1]麦香牛块Beef McNuggets 数学题 + 放缩思想
    csu 1554: SG Value 思维题
    csu 1551: Longest Increasing Subsequence Again BIT + 思维
    Rasheda And The Zeriba Gym
    cpc,a wonderful concert
    hdu_3308 区间合并
    poj_3667线段树区间合并
    poj_2777线段树+位运算
    poj_3468,线段树成段更新
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1941538.html
Copyright © 2011-2022 走看看