java中抽象类,抽象方法,接口与实现接口实例详解

  

  

对于java中的抽象类,抽象方法,接口,实现接口等具体的概念就不在这里详细的说明了,网上书本都有很多解释,主要是我懒,下面通过一个例子来说明其中的精髓要点,能不能练成绝世武功,踏上封王之路,就看自己的的啦(不要误会,我指的只是我自己啦啦)
  

  


  

  

1,利用接口做参数,写个计算器,能完成+ - */运算
  

  

(1)定义一个接口计算含有一个方法int电脑(int, int);
  

  

(2)设计四个类分别实现此接口,完成+ - */运算
  

  

(3)设计一个类UseCompute,含有方法:公共空间useCom(计算com, int>//父类,并且使用用接口   包cn.yjlblog.wwww;      公共接口计算{   int电脑(int, int);//抽象方法,胜率抽象的,公开的         }         //子类添加实现加法运算   包cn.yjlblog.wwww;      公共类添加实现计算{      @Override//接口的实现类和抽象类的子类是一样的,要想可以使用新的一个对象,就必须对“抽象类”里的方法//进行重写   公共int计算机(int, int) {//TODO自动生成方法存根   返回n + m;   }         }            包cn.yjlblog.wwww;//子类减实现减法运算   公共类减去实现计算{      @Override   公共int计算机(int, int) {//TODO自动生成方法存根   返回n - m;   }      }            子类增加实现乘法运算   包cn.yjlblog.wwww;      公共类增加实现计算{      @Override   公共int计算机(int, int) {//TODO自动生成方法存根   返回n * m;   }         }            包cn.yjlblog.wwww;//子类分为实现整除运算   公共类划分实现计算{      @Override   公共int计算机(int, int) {//TODO自动生成方法存根   返回n/m;   }         }         //应用类UseComepute用来   包cn.yjlblog.wwww;      公开课UseComepute {   公共空间useCom(计算com, int>//测试类测试   包cn.yjlblog.wwww;      公共类测试{   公共静态void main (String [] args) {   加州大学=new UseComepute UseComepute();//应用类生成对象,使用useCome方法   int>   公共抽象空白打印机(){   公共空间open () {   system.out.print(“打印机开启”);   }   公共空间close () {   system.out.print(“打印机关闭”);   }   抽象的空白打印();//把印刷方法定义为抽象方法   }      公共HPPrinter延伸打印机{   无效的print(){//必须重写抽象方法打印()   system.out.print(“惠普打印机开始打印”);   };   }      公共CanonPrinter延伸打印机{   无效的print(){//必须重写抽象方法打印()   system.out.print(“佳能打印机开始打印”);   };   }      


  

  

<强>(一)语法层次

        公共抽象类{//关键词抽象,声明该类为抽象类   空白Num ();   文摘无效名称();//声明该方法为抽象方法   }      接口人{   空白Num ();   无效的名字();   }      

抽象类方式中,抽象类可以拥有任意范围的成员数据,同时也可以拥有自己的非抽象方法,
  

  

但是接口方式中,它仅能够有静态,不能修改的成员数据(但是我们一般是不会在接口中使用成员数据),同时它所有的方法都必须是抽象的。
  

  

在某种程度上来说,接口是抽象类的特殊化。
  

  

对子类而言,它只能继承一个抽象类(这是java为了数据安全而考虑的),但是却可以实现多个接口。
  

  

<强>(二)设计层次

  

1,抽象层次不同

  

抽象类是对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性,行为,但是接口却是对类局部(行为)进行抽象。

  

2,跨域不同

  

抽象类所跨域的是具有相似特点的类,而接口却可以跨域不同的类。我们知道抽象类是从子类中发现公共部分,然后泛化成抽象类,子类继承该父类即可,但是接口不同。实现它的子类可以不存在任何关系,共同之处,例如猫,狗可以抽象成一个动物类抽象类,具备叫的方法,鸟飞机可以实现飞飞接口,具备飞的行为,这里我们总不能将鸟,飞机共用一个父类吧!所以说抽象类所体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在“是”关系,即父类和派生类在概念本质上应该是相同的。对于接口则不然,并不要求接口的实现者和接口定义在概念本质上是一致的,仅仅是实现了接口定义的契约而已。

java中抽象类,抽象方法,接口与实现接口实例详解