`
huangfeiNetJava
  • 浏览: 39570 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

接口与抽象类

 
阅读更多

      学习一样东西,首先要知道这个东西什么有什么用?

      这个接口有神马用呢?

      接口的功能:先用一个例子说明一下,比如说,插座就是一个接口,所有的电器要想用电,就必须接受这个规格的插座,就必须实现所谓的接口,具体你这个电器用来干嘛的,我插座(接口)就不管你了,也就是功能与规范是分离的,不相干予的。假如你想用三头插,那好,你就换另一个接口,你的电器的接头必须实现有三插的接口规范。总之,接口就是一个规范而已。

      在团队开发中,因为每一个人的命名习惯都会不同(一只狗,你叫他阿黄,我叫他狗剩一样),那么可以使用接口,将所有方法的名字预先设置好。

 

      定义接口的关键字是:interface
      格式:
      访问修饰符(public)  interface  接口名 {
      public static final 数据类型    常量名  = 值;
      public 返回值类型   方法名(参数列表);
      返回值类型   方法名(参数列表);
      }

 

      接口中能够定义常量和抽象的方法;

      常量实例:public static final Const=1;

      抽象方法实例:public void Way(参数列表);

 

    现在我们思考一个问题:接口能继承么?

    想不出来吗?那你先想想,你知道了类能够继承了,那接口是类吗?

    其实,接口也是一个类,只不过是一个特殊的类,它不仅能够继承,而且能够实现多重继承:

    public interface 接口名  extends 父接口名1,父接口名2,....{
   
    }

 

 

接口的实现:

      接口的实现方式:
       实现的关键字是:implements
   格式:
   public class 子类名  extends 抽象类或者类   implements 父接口名,... {
    //实现接口中所有的方法。
   }
   注意:如果类实现了接口,那么必须重写接口中定义的”所有“的方法。(注意是所有)

 

 

细心的你发现了“抽象类”这个词;抽象类这东东,你说它是接口吧,肯定不是(如果是接口的话,抽象类这个词岂不是多余了,是吧),当然,它也不是一般类,它是介于一般类和接口之间的一种类,我们先看一下抽象类的格式:

  格式:public abstract class 抽象类名   extends 类  implements 接口,... {
  //可以定义所有的属性、方法和构造方法。
  //还可以定义抽象的方法
  //定义抽象方法的格式:访问修饰符(不能是private) abstract 返回值类型  方法名(参数列表);
 }

 

 此处关键字abstract用在两个地方:1.类开头的访问修饰符后  2.抽象方法的访问修饰符之后

 

 

继承抽象类的格式
 public class 类名  extends 抽象类名{
  //必须要重写抽象中的所有抽象方法。
 }

 

最后有一点要注意的:

         抽象类和接口一样,不能实例化对象。(因为抽象类和接口都没有完全具体化,创建的对象会具有模糊性,这对java编程者来说是不可容忍的)

 

 

2
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics