标签:
语法区别:
abstract:抽象类--有abstract修饰,有构造方法;interface(接口)没有;
有普通的成员变量; interface 没有;
有非抽象的普通方法; interface 没有;
抽象方法的访问类型是public,protected; interface 的抽象方法必须是public abstract 修饰;默认是public abstract;
抽象方法中静态成员的类型可以是任意的; interface 的静态成员的类型必须是 public static final 修饰的;
应用区别:
一个类只能继承一个抽象类;可以实现多个接口;
抽象类:主要用于代码实现上的重用;
接口: 主要用于模块之间的通信契约;在架构设计方法上发挥作用;
abstract的method不可以是static的。因为抽象的方法是要被子类实现的!static 与子类扯不上关系!
native:原生的;
native method (原生方法) 是Java调用非Java代码的接口;该方法有非Java代码实现;定义原生方法时,不提供是实现体;
abstract 没有实现体;
native 标识符能和Java 标识符 连用,但abstract不行;
因为 native 有实现体 ,abstract没有实现体
-----例子:在定义一个native method时,并不提供实现体(有些像定义一个Java Interface),因为其实现体是由非Java语言在外面实现的
public class IHaveNatives
{
native public void Native1( int x ) ;
native static public long Native2() ;
native synchronized private float Native3( Object o ) ;
native void Native4( int[] ary ) throws Exception ;
}
abstract ,interface 之间的区别 和 abstract ,native之间的区别
标签:
原文地址:http://www.cnblogs.com/my129go/p/4308121.html