什么是接口?

接口是可用于实现类的蓝图。接口不包含任何具体方法(有代码的方法)。接口的所有方法都是抽象的方法。

无法实例化接口。但是,可以实例化实现接口的类。接口从来不包含实例变量,但它们可以包含公共静态最终变量(即常量类变量)。

什么是抽象类?

在声明中包含抽象关键字的类称为抽象类。抽象类至少应该有一个抽象方法。即没有身体的方法。它可以有多种具体的方法。

抽象类允许您为具体类创建蓝图。但是继承类应该实现抽象方法。

抽象类不能实例化。

使用接口的重要原因

· 接口用于实现抽象。

· 用于支持运行时的动态方法解析。

· 它帮助您实现松散耦合。

· 允许您将方法的定义与继承层次结构分开。

使用抽象类的重要原因

· 抽象类为子类提供默认功能。

· 为未来的特定类提供模板。

· 帮助您为其子类定义公共接口。

· 抽象类允许代码可重用。

界面VS抽象类

Java中接口和抽象类的示例代码

下面是用Java创建接口和抽象类的示例代码

接口语法

interface name{

//methods

}

Java接口示例:

interface Pet {

public void test();

}

class Dog implements Pet {

public void test() {

System.out.println("Interface Method Implemented");

}

public static void main(String args[]) {

Pet p = new Dog();

p.test();

}

}

抽象类语法

abstract class name{

// code

}

抽象类示例:

abstract class Shape {

int b = 20;

abstract public void calculateArea();

}

public class Rectangle extends Shape {

public static void main(String args[]) {

Rectangle obj = new Rectangle();

obj.b = 200;

obj.calculateArea();

}

public void calculateArea() {

System.out.println("Area is " + (obj.b * obj.b));

}

}

想继续了解JAVA知识,记得关注+转发+收藏啊!

java 接口和抽象类的区别_Java中的接口与抽象类:有什么区别?相关推荐

  1. java中集合的区别_Java中的集合与集合之间的区别

    Java收集框架用于操纵对象的收集.收集框架包含多个包装器类,便利类,用于传统实现的类,例如vector和Hashtable,收集接口等. 集合是Java集合框架中的接口.它分为两部分-Java ut ...

  2. Java传统的io和nio区别_Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...

  3. java set list 区别是什么_Java中的list和set有什么区别

    Java中的集合共包含三大类,它们分别是Set(集),List(列表)以及Map(映射). List方法与set方法的区别 (1)重复对象 list方法可以允许重复的对象,而set方法不允许重复对象 ...

  4. java io和nio的区别_Java中IO和NIO的本质和区别

    导读热词 简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1 ...

  5. Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...

    /* Map集合:该集合存储键值对.一对一对往里存.而且要保证键的唯一性. Map |--Hashtable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低.基本已废 ...

  6. java中字符流和字节流的区别_java中字节流和字符流有哪些区别

    java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...

  7. java 方法 函数 区别_Java中的构造函数和方法之间的区别

    Java方法一种方法用于探索对象的行为. 我们可以在方法的前面加上访问修饰符. 方法必须具有返回类型,例如void,任何原始类型(int,char,float等),任何Object类型(Integer ...

  8. java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?

    Java中的常量 常量变量是其值固定的变量,程序中仅存在一个副本.声明常量变量并为其分配值后,就无法在整个程序中再次更改其值. 与C语言不同,Java(直接)不支持常量.但是,您仍然可以通过声明变量s ...

  9. java 内存溢出和内存泄漏_java中内存溢出和内存泄漏的区别

    虽然在java中我们不用关心内存的释放, 垃圾回收机制帮助我们回收不需要的对象,但实际上不正当的操作也会产生内存问题:如,内存溢出.内存泄漏 内存溢出:out of memory:简单通俗理解就是内存 ...

  10. dma和通道的区别_Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是http://java.io包中的所有类,他们是从jav ...

最新文章

  1. 大数据岗位必知必会的53个Java基础
  2. Maven jdk.1.7
  3. ps人像精修照片步骤_ps修图教程:人像精修
  4. Python字符串逐字符或逐词反转方法
  5. Waveform Audio 驱动(Wavedev2)之:WAV API模拟
  6. Java 性能优化实战记录(2)---句柄泄漏和监控
  7. 56 - I. 数组中数字出现的次数
  8. Flutter 踩坑 在bottomNavigationBar下显示bottomSheet
  9. protobuf string类型_Protobuf 语言指南(proto3)
  10. 人工智能机器学习笔记 10月10日
  11. android 5.0 屏幕录制,Android 5.0+ 视频录制 ScreenCapture
  12. DeepFaceLab教程 DeepFaceLab新手入门教程
  13. 最重要的经济先行指标—PMI
  14. R语言使用survival包的Surv函数创建生存对象、建立Cox回归模型(包含所有协变量)比较不同治疗方法生存率的差异、使用step函数基于AIC指标进行逐步回归法cox模型特征筛选(变量筛选)
  15. cobalt strik启动
  16. Android5.0直播不了,Android 5.0打开直播页面直接闪退
  17. unity的矢量数学
  18. 如何在spss结果输出页面显示命令/运行代码
  19. debian的几个lib源_Linux各个文件夹的主要作用 (源地址
  20. layui框架学习(13:辅助元素)

热门文章

  1. 启动Tomcat时报错,一大堆的
  2. Matlab图形窗口大小的控制 ,plot窗口大小,figure大小,axis设置
  3. 今天就来分享一招坐着减肥法~ 办公室“久坐族”也同样适用
  4. Adversarial examples in the physical world论文解读
  5. /usr/include/pcap/pcap.h源码
  6. 垃圾回收中的finalize方法
  7. HDU 2511二分+汉诺塔
  8. iOS研发助手DoraemonKit技术实现之Crash查看
  9. 为什么自建深度学习机器?因为比AWS便宜10倍啊!
  10. ECJia 到家 v1.5.1 发布,基于 O2O 的移动电商开源系统