zoukankan      html  css  js  c++  java
  • java笔记 chapter7 抽象类和数组

    抽象类:
         使用abstract 修饰的类就是抽象类。抽象类的本质就是一个类。
         1,抽象类不能被实例化,往往用来做父类,定义子类中共有的方法和属性。子类继承抽象类以后,覆盖实现抽象类里的抽象方法,然后使用其子类的实例。
             子类必须覆盖父类(是个抽象类)里面所有的抽象方法,否则编译报错。
         2,抽象类可以使用类名直接调用抽象类里面的静态成员
         3,抽象类往往作为父类来使用,而子类的构造方法总是调用父类的构造方法,所以抽象类必须要有构造方法。如果没有为抽象类显式声明构造方法,抽象类也存在默认的无参构造器。
    抽象方法:
    只给出方法定义而不具体实现的方法.(就是没有方法体的方法,使用abstract修饰)
    抽象方法是没有方法体的,在代码表达上就是没有 “{}”。 有花括号就表明有方法体。

    抽象类和抽象方法的关系
         抽象类不一定包含抽象方法
         有抽象方法的类一定是个抽象类。

     
    接口interface:
    接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
    接口的本质是个抽象类。
    接口里面只能声明静态常量和抽象方法,除此之外,接口里面不能有其他的元素。
         接口里的常量,默认是(也只能是) public  static  final 的,这些修饰符可省略;可以使用接口名调用常量。
         接口里的方法都是抽象的,默认是(也只能是)public abstract的,这些修饰符可省略;
     
     
    类和接口的关系:
    1,类和类之间可以互相继承,接口和接口之间也可以相互继承,用关键字extends表示,区别在于接口可以同时继承多个接口,但是一个类只能同时继承一个类。
    2,类和接口之间,只能是类来实现接口,一对多的关系,一个类可以同时实现多个接口,接口间用逗号分隔开,使用关键字implement
    public interface A{
              public void a{ };
    }
     
    public interface B{
              public void b{ };
    }
    public interface C extends A,B{
              public void c{ };
    }
    以上例子接口C同时继承了接口A和B,拥有了A和B的方法,所以C接口里面有3个抽象方法:a,b,c
     
    抽象类和接口的关系:
    接口里面不能定义变量,接口里的方法必须都是抽象的
    抽象类里可以有变量,抽象类里的方法可以是抽象的,也可以不是抽象的。
     
    扩展:
    类继承父类和类实现接口的区别:
    两者本质是一样的,都是把父类或者接口当做模板,在这个模板上进行扩展或者重写。
    但是类继承父类只能是单继承,也就是说一个子类最多只能有一个父类。
    而类实现接口可以多实现,就是一个子类可以同时实现多个接口,并覆盖接口里面所有的抽象方法。
  • 相关阅读:
    windwos8.1英文版安装SQL2008 R2中断停止的解决方案
    indwows8.1 英文版64位安装数据库时出现The ENU localization is not supported by this SQL Server media
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
    SQL数据附加问题
    eclipse,myeclipse中集合svn的方法
    JAVA SSH 框架介绍
    SSH框架-相关知识点
    SuperMapRealSpace Heading Tilt Roll的理解
    SuperMap iserver manage不能访问本地目的(IE9)
    Myeclipse中js文件中的乱码处理
  • 原文地址:https://www.cnblogs.com/wxc-xiaohuang/p/3488324.html
Copyright © 2011-2022 走看看