【转】Java的接口和抽象类的区别】的更多相关文章

抽象类 抽象类必须用 abstract 修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用 abstract 修饰.抽象类默认的权限修饰符为 public,可以定义为 public 或 procted,如果定义为 private,那么子类则无法继承.抽象类不能创建对象 抽象类和普通类的区别 抽象类必须用public.procted 修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法).默认缺省为 public 抽象类无法创建对象 如果一个子类继承抽象类…
1.      抽象类和接口的区别 所谓抽象类是用来表征我们在对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象:所谓接口,相当于电源插座,可插入构件相当于电器.可插入构件的关键在于存在一个公用的接口,以及每个构件都实现了这个接口.接口是实现构件的可插入性的关键. 1.1.   从语法层区别抽象类和接口 从语法层来讲,Java语言对于抽象类和接口给出了不同的定义方式,下面以定义一个名为Demo的抽象类为例来说明这种不同. Demo抽象类的定义方式如下:…
接口和抽象类的共同特征如下: 接口和抽象类都不能被实例化,位于继承树的顶端,用于被其他类实现和继承. 接口和抽象类都可以包含抽象的方法,实现接口的类或者继承抽象类的类都必须实现这些抽象的方法. 区别:二者的主要区别在于他们存在的目的不同,即设计的目的不同. 接口作为系统与外界交互的窗口,接口体现的是一种规范. 抽象类作为系统中多个子类的共同父类,抽象类体现的是一种模板式设计. 我们最关注的还是二者用法的区别: (1)接口里只能包含抽象方法和默认方法,不能实现普通方法.抽象类完全可以包含普通方法.…
(1)首先接口和抽象类的设计目的就是不一样的.接口是对动作的抽象,而抽象类是对根源的抽象. (2)对于抽象类,一个类只能继承一个抽象类.但是一个类可以同时实现多个接口. (3)接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的; (4)另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现. 抽象类遵循的原则: (1)abstract关键字只…
任何不谈使用方法的空理论都是耍流氓 使用场景 · 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧(Java1.8中接口也可以这么做了) · 如果你想实现多重继承,那么你必须使用接口.由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口.因此你就可以使用接口来解决它. · 如果基本功能在不断改变,那么就需要使用抽象类.如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类. 具体的使用 · 接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间…
经常看到这样的问题,就是问这两个的区别,我这也总结一下: 1,宏观上说,一个是类,一个是接口,类只支持单一继承,接口支持多个继承 2,微观上说,就是从内部来说 a,成员变量方面 接口可以包含方法,属性,常量(不变的,但是不想一直从数据库中取导致浪费资源的量) 抽象类可以包括接口包括的任何成员,同时需要满足的是内部可以有实现的方法和没有实现的方法,同时必须有没有实现的方法 b,接口类是公开的,抽象类可以不是公开的 c,一般使用,接口是在顶部,然后抽象类实现接口,然后对象类来实现抽象类 d,实现接口…
今天看到项目中,写了一个抽象类,里面有很多方法继承了这类,当调用这个接口时,采用的是这个抽象类去调方法的,当时一想,这个不就是我们说的Java的多态的特征: 继承:存在继承关系的子类和父类 重写:子类对父类的某些方法进行重写(多态下调用的是子类重写的方法) 父类引用指向子类对象:即向上转型,将子类的引用赋给父类的对象 然后,我们调用的时候,就是通过父类的对象去调用方法的.但是,一想接口好像也可以实现多态,并不是抽象类才可以,我们只要多个类实现同一个接口,也可以实现多态, 因此,转着转着,就转到了…
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象类不能被实例化,也就是不能用new关键字来进行产生对象:4.抽象方法只能声明,不能被实现.5.抽象类的子类,必须实现所有抽象类的抽象方法(强调是抽象方法)否则子类还是抽象类:接口:1.接口里的变量默认为 public static final的类型的 所以接口中的变量就是个全局静态常量 2.接口中的…
Java接口: 总结了4点关于JAVA中接口存在的意义: 1.重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力. 2.简单.规范性:如果一个项目比较庞大,那么就需要一个能理清所有业务的架构师来定义一些主要的接口,这些接口不仅告诉开发人员你需要实现那些业务,而且也将命名规范限制住了(防止一些开发人员随便命名导致别的程序员无法看明白). 3.维护.拓展性:比如你要做一个画板程序,…
抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰.因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象. 下面要注意一个问题:在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类”,但是后面发现如果一个类不包含抽象方法,只是用abstract修饰的话也是抽象类.也就是…