Java中的接口和抽象类(转)】的更多相关文章

由于随着jdk版本的更新,在jdk1.8时,接口也增强了,所以我们分别来说明一下. (1)jdk1.8之前 在jdk1.8之前,接口里面只能定义抽象方法和常量:而抽象类比普通类有一点不同,就是抽象类里面可以定义抽象方法,同样在实现一个接口时,普通类需要实现接口中的所有抽象方法,而抽象类不必完全实现. 接口与抽象类最大的不同在于类只支持单继承,而接口支持多实现:即一个类只能继承一个类,但是一个类可以实现多个接口,在一个类中既要继承类又要实现接口时,需要将继承写在前面. 一般来说,在日常开发中需要接…
Muscleape个人总结:(这里的抽象接口是指:使用一个抽象类实现一个接口,是两部分结构) 使用一个抽象类直接实现接口,将接口中的方法区分为实现类必须要实现的和选择性实现的,其他需要实现接口的类型通过继承这个抽象类的方式实现接口,这样在具体的实现类中可以不用重写接口中用不到的方法,如果后期接口中新增加了方法,只需要在抽象类中重写新方法,具体的实现类需要使用该方法的才去重写该方法,其他的实现类可以不用做任何修改: JAVA中的"抽象接口"(原博文名称)  (原文地址:http://ww…
接口和抽象类是Java设计中最基本的概念,它们都不能实例化对象,都可以实现多态,也都能用来创建匿名内部类.但实际使用上还有很多的不同. 两者的语法定义不同,对应的设计抽象关系也不同,接口主要是对行为的抽象,表示本质相似的关系,即like-a关系,而抽象类可以对数据和行为抽象,表示本质相同即has-a关系. 抽象类中的属性和方法可以通过各种访问修饰符修饰,但接口中的变量默认是 public static final的,接口中的方法默认是public abstract的. JDK8中接口可以定义静态…
在面向对象的概念中,我们知道所有的对象都是通过类来描述的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类往往用来表征我们在对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称为抽象. 比如:我们要描述"水果",它就是一个抽象,它有质量.体积等一些共性,但又缺乏特性(苹果.橘子都是水果,它们有自己的特性),我们拿不出唯一一种…
Java8中的接口 public interface Output { //接口里定义的成员变量只能是常量 //默认使用public static final修饰 int MAX_CACHE_LINE = 50; //接口里定义的普通方法只能是public的抽象方法 void out(); void getData(String msg); //接口中定义的默认方法,需要使用default修饰 default void print(String... msgs) { for (String ms…
1.接口从用户的角度(使用实现的代码)看问题. 2.接口由编译器强制的一个模块间协作的合约. 3.无成员变量. 4.成员函数只能声明不能实现,(jdk1.8中的default 方法可以有方法体). 接口和抽象类的区别: 1.抽象类可以有成员变量, 2.可以有部分实现: 3.抽象类不可以多继承,接口可以: 4.使用抽象类是使用继承的方式,但是只能单继承, 而接口是使用实现的方式实现的,并且可以多重实现: 5.从用户的角度看问题, 强调合约,强制协作的双方不能犯错.…
抽象类与接口的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意.           其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解…
抽象类很简单,就是多了个abstract关键字,可以有(也可以没有)只声明不定义的方法.不能实例化该类. 接口比较特殊: 无论你加不加public,接口中声明的方法都是public的,还有无论你加不加static final,接口中的成员都由这两个关键字修饰. Fields defined in interfaces cannot be "blank finals", but they can be initialized with non-constant expressions.…
Java 中的接口和抽象类之间的对比 一.接口 Interface,将其翻译成插座可能就更好理解了.我们通常利用接口来定义实现类的行为,当你将插座上连接笔记本的三角插头拔掉,换成微波炉插上去的时候,你就会发现,这两样东西它都是三角插头的.那么这个三角插头就可以视为一种规则,而这两样电器就是两个实现了同样规则的构件了.因为实现了同样的规则,使得动态地将一个构件换成另外一个构件变得容易得多.那么在代码中也是相同地道理,当两个类实现了相同的接口,将客户端中原有实现类换成另外一个,就变得简单不过了. 首…
前言 大家好,给大家带来详细讲解Java中的接口与继承的概述,希望你们喜欢 什么是接口(interface) 接口中的方法都是抽象方法,public权限,全是抽象函数,不能生成对象 interface Student{ public void read(); public void write(); } class ChineseStudent implements Student{ //复写 public void read(){ System.out.println("read")…