首页 > 其他 > 详细

java中抽象类和接口的区别

时间:2014-01-16 20:37:07      阅读:311      评论:0      收藏:0      [点我收藏+]

java中抽象类和接口的区别

先看一下抽象类和接口在java中的定义

抽象类的定义

1
2
3
4
5
6
7
8
//抽象类定义
public abstract class AbstractClass {
    public int x;//抽象类中可以有普通的成员变量
    public void concretMethod(){
        System.out.println("具体实现的方法");//具体方法的实现  在子类中可以重写  也可以不重写
    }
    public abstract void abstractMethod();//抽象方法   必须在子类中实现
}

接口的定义

1
2
3
4
5
6
7
//接口定义
public interface Interface {
    public static final int y = 2;//接口中只能有static final类型的成员变量   static 表示全局变量  final表示不能修改
    public int x = 1;//可以不用static final申明   会隐式申明为static final 必须初始化
     
    public abstract void  method();//接口中只能有抽象方法   不能有具体实现的方法   abstract可以不用显示申明
}

下面来分析一下两者的区别

java抽象类

1.java抽象类中可以有普通成员变量

2.java抽象类中可以有抽象方法,也可以有具体实现的方法

3.java抽象类的子类必须实现父类抽象类的方法,可以重写父类已经实现的方法,也可以不重写

java中的接口

1.接口中只能有static final类型的成员变量,且必须初始化,即使不显示申明成static final类型的,系统也会隐式申明为static final类型

2.接口中只能有抽象方法

3.实现接口的类必须实现接口所有的抽象方法

 

 

ps:java类只能继承一个父类,可以实现多个接口

java中抽象类和接口的区别

原文:http://www.cnblogs.com/luckygxf/p/3518537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!