面试时经常会被问到抽象类与接口的区别,因此这里总结一下
可以从一下几个方面来考虑抽象类与接口的区别
1,组成方面
抽象类的组成可以有抽象方法,普通方法,常量,变量,构造方法,全局常量
接口的组成可以有抽象方法和全局常量
从上面可以看出,抽象类中可以有普通方法,常量,变量和构造方法,因此在抽象类中是
可以存在实现方法的,即有方法体的方法,抽象类中可以存在非抽象方法
例:
package com.racky.abs;
abstract class A{
//普通方法,有方法体,该方法不是抽象方法
public void print(){
System.out.println("ererer");
}
//抽象方法,无方法体
public abstract void fun();
}
接口中的方法都是抽象方法,没有方法体
例:
package com.racky.interf;
public interface A {
//接口中不能有private定义的常量
//private final int i=0;
public final int j=0;
public static final int x=0;// 全局常量
//接口中不能有private方法
//private void print();
//抽象方法
public void fun();
}
2,继承方面
子类通过extends继承抽象类,且一个子类只能继承一个抽象类,即单继承
子类通过implements实现接口,子类可以实现多个接口,因此可用于实现多继承
3,抽象类与接口的关系
一个抽象类可以实现多个接口,一个抽象类可以包含多个接口
一个接口不能继承抽象类,只能实现多个接口,一个接口中可以包含多个抽象类
例:抽象类中有接口
abstract class A{
public abstract void fun();
interface B{//内部接口
public void print();
}
}
例:接口中有抽象类
interface class A{
public abstract void fun();
abstract B{//内部抽象类
public abstract void print();
}
}
分享到:
相关推荐
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
抽象类与接口 抽象类与接口 抽象类与接口 抽象类与接口
Java抽象类与接口实验报告
java 抽象类与接口的练习,包括代码及注释,个人笔记
第7章 抽象类与接口.ppt第7章 抽象类与接口.ppt
1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结
深入浅出的说明java抽象类与接口区别,让初学者更好的理解java抽象类与接口的概念
抽象类和接口实验报告
抽象类与接口的区别,抽象类与接口的具体应用
abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的...
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
此书对于你学习Java抽象类和接口有非常大的帮助
学生通过对该项目整体框架的搭建和对动物城信息管理等模块的设计与功能实现,训练了学生对项目框架的搭建、类的封装、抽象类定义与继承、接口的定义与接口的实现等Java OOP面向对象知识点的掌握。 本项目主要包括...
Java中的类、抽象类和接口的区别和联系
java 抽象类与接口的区别
详细介绍了dot Net中抽象类与接口的... 通过相同与不同的比较,我们只能说接口和抽象类,各有所长,但无优略。在实际的编程实践中,我们要视具体情况来酌情量才,但是以下的经验和积累,或许能给大家一些启示...
抽象类和接口 区别分析抽象类和接口 区别分析
1. 设计并使用抽象类; 2.学习如何定义接口,掌握接口的实现方式,使用实现了接口的类; 3.理解接口与抽象类的区别。
该资源对接口与抽象类作了详细分析与比较,相信你看了之后,会彻底的明白了,java学习更上一层楼
学习java的抽象类和接口,入门抽象类和接口必须学会这些内容