Chinaunix首页 | 论坛 | 博客
  • 博客访问: 836610
  • 博文数量: 190
  • 博客积分: 2991
  • 博客等级: 少校
  • 技术积分: 2400
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-24 18:11
文章分类

全部博文(190)

文章存档

2015年(3)

2014年(1)

2013年(65)

2012年(121)

我的朋友

分类: Java

2012-10-31 18:00:57

JAVA基础之基础,抽象类和接口的区别。。。。。。

要是还不能很清晰的给别人讲述这两者之间的区别,建议自己动手写写代码,就会有所领悟了。

1.抽象类

  1. public abstract class testAbstractClass {  
  2.     //抽象类是可以有私有方法或私有变量  
  3.     private int TEST_NUM;  
  4.       
  5.     public abstract int testMethod();  
  6.   
  7.     public int test2Method() {  
  8.         return 0;  
  9.     }  
  10.     //私有方法  
  11.     private int test3Method() {  
  12.         return 0;  
  13.     }  
  14. }  

2.接口

  1. public interface testInterface {  
  2. //接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的  
  3.     public abstract int testInterface();  
  4.     public int test2Interface();  
  5.       
  6. }  

3.子类继承抽象类

  1. public class testExtendsAbstractClass extends testAbstractClass{  
  2. //继承抽象类可以有选择的重写需要用到的方法,但抽象方法必须实现  
  3.     @Override  
  4.     public int testMethod() {  
  5.         // TODO Auto-generated method stub  
  6.         return 0;  
  7.     }  
  8.   
  9. }  

4.子类实现接口

  1. public class testImplementsInterface implements testInterface {  
  2. //实现接口一定要实现接口定义的所有方法  
  3.     @Override  
  4.     public int testInterface() {  
  5.         // TODO Auto-generated method stub  
  6.         return 0;  
  7.     }  
  8.   
  9.     @Override  
  10.     public int test2Interface() {  
  11.         // TODO Auto-generated method stub  
  12.         return 0;  
  13.     }  
  14.   
  15. }  
注:以上代码均为编译通过

总结:

1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的;而抽象类是可以有私有方法或私有变量;

2.实现接口一定要实现接口定义的所有方法,而继承抽象类可以有选择的重写需要用到的方法,但抽象方法必须实现;

3.一般应用里,最顶级的是接口,然后是抽象类实现的接口,最后才是具体类的实现。

4.接口多实现,类单继承

常见思考问题:

1.抽象类中私有方法或私有变量有什么作用;

2.接口中抽象方法和一般方法有什么区别;

转载请注明:

3.其他……

阅读(994) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~