java中的抽象类,接口,内部类
抽象类(abstract class):
在class前加上abstract的类就是抽象类,如:public abstract class A{};
用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法(抽象方法没有方法体)。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化。
抽象方法只需声明,而不需实现。
类中可以没有抽象方法,但是抽象方法必须位于抽象类中!
子类继承抽象类必须重写抽象类里面的全部抽象方法。
使用抽象类的唯一途径是派生一个子类,如果这个子类实现了抽象类中所有的抽象方法,
那么这个子类就是一个普通的类。它可以用来创建对象。如果不实现父类中的所有抽象方法,
那么它也是一个抽象类,剩下的方法由它的子类实现。
抽象方法不能是静态方法,因为静态方法无需对象就能执行。
抽象类不能new抽象类。
接口(interface):
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
多个无关的类可以实现同一个接口
一个类可以实现多个无关的接口(接口变相地实现了多继承)
与继承关系类似,接口与实现类之间存在多态性
接口里面只能有抽象方法,但是这种抽象方法没有abstract关键字。
接口特性:
接口可以多重实现;
接口中声明的属性默认为public static final的;也只能是public static final的;
接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public的;
接口可以继承其它的接口,并添加新的属性和抽象方法。
接口定义举例
public interface Runner {
int id = 1;//这里默认为常量
public void start();
public void run();
public void stop();
}
综合例子:
public interface Runn
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
封装类也叫包装类,是针对八种基本定义相应的引用类型。
基本数据类型 封装类
boolean &nbs ......
Java Singleton
模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。在
web 程序中我们会用一个核心的分配功能的Servlet程序,在这里我们就可以运用这种设计模式了。 ......