java提高篇--IT修真界java接口小结

一)接口概述

1什么是接口?

    interface 差不多 = = abstract class
     接口是like a :“像”我中的一种,是继承体系之外的,用于扩展类的单继承!想扩展就实现,不想就不用实现。

2、接口由组成?如何定义、实现一个接口?

1)接口组成:接口中只能声明抽象方法和常量,且声明格式都是固定的,只不过可以省略。
eg:接口中声明常量和抽象方法的格式是固定的,定义一个接口:

 interface Runner {
       	/*public abstract final*/  int SPEED=100;  //声明常量
	/*public abstract 省略了,写也对*/  void run();  //声明抽象方法
     }	

特点:1>接口中的成员不写修饰符时,默认都public。

2>接口不能有构造器,因为不能实例化何以初始化,接口只能被“实现”。

2)接口实现:

        具体类实现了一个接口,则必须实现全部的抽象方法,若没有全部实现,则该类为抽象类。所以说,接口约定了具体类的方法,约定了类的外部行为。

       具体类可以同时实现多个接口,就是多继承现象!接口用 implements 表实现,实际是继承关系,可有多个接口(实现),继承用 extends 只能有一个继承关系。

        一个类既可以继承的同时,又“实现”接口:class A extends B implements C , D{ ……}
eg:小鸟类继承于大鸟类(实现鸟类以及动物接口)

class smallBird extends bigBird implements Animal, Bird{
	//具体实现方法
} 

3、接口是否可以继承接口

        类与类之间是继承关系,类与接口之间是实现关系,接口与接口之间是继承关系,且只有接口之间可以多继承,即:interface A{},interface B{},interface C extends A , B {……}

        但接口多继承时要注意,要避免A、B接口中有方法名相同、参数列表相同,但返回值类型不相同的情况,因为被具体类实现时,不确定调用哪个方法。


4、接口与抽象类的区别?抽象类是否可以实现接口?抽象类是否可以继承实体类?

        声明方法的存在而不去实现它的类叫做抽象类,它主要用于要创建一个体现某些行为的类,并为其声明方法,但不能在该类中实现该类;
接口是抽象类的变体,新型多继承性可通过实现这样的接口而获得,接口中所有方法都是抽象的,所有成本员变量都是public static fianl属性的。
      1)从语法角度:抽象类可以有自己的成员变量和成员方法、抽象方法,而在interface中一般不定义成员变量或者是public static fianl属性的,所有的方法都是abstract。
     2)从编程的角度:abstract class在Java语言中是单继承的,一个子类只能有一个父类,实现抽象类时可以只实现其中的一部分方法;而接口表示的是多继承关系,一个类可以实现多个interface,要实现一个接口的话则要实现这个接口中所有的抽象方法。
     3)从问题域角度:abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的。对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约而已。

二)java修真界常见接口

1)常用JDBC API


在Java.sql包中包含体现JDBC基本功能的若干接口和类:
1>Driver 接口:代表驱动程序;
2>DriverManager 类:驱动程序管理员;
3>Connection 接口:代表数据库连接;
4>Statement 、PreparedStatement、CallableStatement 接口:代表数据库操作对象;
5>ResultSet 接口:代表结果集;
6>DatabaseMetadata、ResultSetMetadata接口:代表元数据;
7>Types 类:代表JDBC类型。


2)Servlet常用接口


1> Servlert接口:是所有Servlet必须直接或者间接实现的接口;

2> ServletConfig接口:他代表了Servlet的配置,Servlet配置包括Servlet的名字、初始化参数、上下文;

3> ServletRequest接口:代表了Servlet请求,它是一个高层的接口,HttpservletRequest是它的子接口;

4> HttpServletRequest接口:该接口最常用的方法就是获得请求中的参数,这个请求中的参数是客户端表单中的数据;
5> HttpSession接口:被Servlet引擎用来实现HTTP客户端和HTTP会话两者之间的关系;
6> RequestDispatcher接口:将一个Servlet请求转发到另一个Servlet;
7> Filter接口:过滤器作用
8> FilterChain接口:代码的过滤链,通过这个接口把过滤的任务在不同的Filter之间转移。

3)spring最核心的功能:IOC和AOP。用来解耦模块之间的耦合,常用接口

1> Resource:用来加载资源,包括spring的配置文件;
2> BeanDefinition:spring bean的内部数据结构表示;
3> BeanFactory:最核心的接口,spring所有的容器都继承于该接口;
4> ApplicationContext:继承于BeanFactory,添加了很多容器管理的功能;
5> WebApplicationContext:web环境使用的容器;
6> BeanPostProcessor:bean加载后做一些后处理工作;
7> BeanWrapper:设置读取配置文件中bean的属性。
8> 等等


4)Struts2就是一个请求处理器,封装的是servlet的功能,struts2的核心主线有两个:请求处理主线,自身加载主线

struts2本身提供了20多个接口,满足绝大部分功能,更多接口可在struts-core.jar中查看:
1>Action接口,struts2不要求用户的action继承任何东西,本身使用反射来处理;
2>拦截器是struts2的核心功能,所有功能的实现都是基于拦截器,Interceptor接口。


5)Hibernate,是一个ORM映射框架,将POJO映射到数据库表,并提供了了、数据库连接,session管理等。

核心接口有六个:
1> Configuration:加载hibernate应用上下文;
2> SessionFactory:数据库在内存中镜像;
3> Session:表示一个会话或者一个连接,用来执行CRUD操作;

4> Transaction:hibernate的事务处理接口;
5> Query接口:hibernate的查询接口,执行sql和hql查询;
6> Criteria接口:hibernate本身提供的,面向对象的查询接口。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值