抽象类、接口和包1

来源:互联网 发布:淘宝转运服务 编辑:程序博客网 时间:2024/06/06 15:38

一、抽象类(abstract

概念:  1.抽象类和抽象方法必须用abstract 关键词来修饰
          2.抽象类不能被实例化
          3.抽象方法只声明,不需要实现
          4.含有抽象方法的类必须被称为抽象类,抽象类的子类必须覆盖所有的抽象方法后              才能被实列化
使用:  
          在抽象类中声明构造方法后,在子类中必须对其明确调用
                       构造方法、私有方法、静态方法和final类型的方法也不能声明为抽象方法


二、接口( interface

语法:
         interface  接口名称{
               (final) 数据类型   成员名称=常量;
               abstract  返回值的数据类型   方法名称(参数...);
         }
           注:1.interface关键字表明接口   
                  2.数据成员必须赋初始值   
                  3.抽象方法里没有定义方法主体

接口与抽象的区别:
          1.接口里的数据成员必须初始化,且数据成员均为常量。对于在接口真红定义的                成员变量,系统会自动为其加上final修饰符,我们不能对其进行修改。
          2.接口里的方法必须声明为abstract,不能像抽象类那样保有一般的方法,必须全              部是抽象方法,否则报错。

     接口的实现(implements):利用接口打造新的累的过程。
        class  类名  implements  接口A,接口B{
                  //类主体
         }


  注:
       接口是Java实现多继承的一种机制,一个类只能继承一个父类,如果需要继承多个
       抽象方法的话,就明显无法实现,所以出现接口概念
       一个类只能继承一个父类,但可以实现多个接口

匿名内部类              
   
  语法:new  抽象类型名(构造方法参数){
                     实现抽象类型中的抽象方法
             }

  通过接口使用匿名类
      InterfaceInner 接口名=new  InterfaceInner (构造方法参数){
                     实现抽象类型中的抽象方法
             }
  通过抽象类使用匿名类
     abstract  抽象类名=new   abstract(){
                            public void method(){
           }
     }  












0 0
原创粉丝点击