java 接口和抽象类的区别_Java中的接口与抽象类:有什么区别?
什么是接口?
接口是可用于实现类的蓝图。接口不包含任何具体方法(有代码的方法)。接口的所有方法都是抽象的方法。
无法实例化接口。但是,可以实例化实现接口的类。接口从来不包含实例变量,但它们可以包含公共静态最终变量(即常量类变量)。
什么是抽象类?
在声明中包含抽象关键字的类称为抽象类。抽象类至少应该有一个抽象方法。即没有身体的方法。它可以有多种具体的方法。
抽象类允许您为具体类创建蓝图。但是继承类应该实现抽象方法。
抽象类不能实例化。
使用接口的重要原因
· 接口用于实现抽象。
· 用于支持运行时的动态方法解析。
· 它帮助您实现松散耦合。
· 允许您将方法的定义与继承层次结构分开。
使用抽象类的重要原因
· 抽象类为子类提供默认功能。
· 为未来的特定类提供模板。
· 帮助您为其子类定义公共接口。
· 抽象类允许代码可重用。
界面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中的接口与抽象类:有什么区别?相关推荐
- java中集合的区别_Java中的集合与集合之间的区别
Java收集框架用于操纵对象的收集.收集框架包含多个包装器类,便利类,用于传统实现的类,例如vector和Hashtable,收集接口等. 集合是Java集合框架中的接口.它分为两部分-Java ut ...
- Java传统的io和nio区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...
- java set list 区别是什么_Java中的list和set有什么区别
Java中的集合共包含三大类,它们分别是Set(集),List(列表)以及Map(映射). List方法与set方法的区别 (1)重复对象 list方法可以允许重复的对象,而set方法不允许重复对象 ...
- java io和nio的区别_Java中IO和NIO的本质和区别
导读热词 简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1 ...
- Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...
/* Map集合:该集合存储键值对.一对一对往里存.而且要保证键的唯一性. Map |--Hashtable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低.基本已废 ...
- java中字符流和字节流的区别_java中字节流和字符流有哪些区别
java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...
- java 方法 函数 区别_Java中的构造函数和方法之间的区别
Java方法一种方法用于探索对象的行为. 我们可以在方法的前面加上访问修饰符. 方法必须具有返回类型,例如void,任何原始类型(int,char,float等),任何Object类型(Integer ...
- java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?
Java中的常量 常量变量是其值固定的变量,程序中仅存在一个副本.声明常量变量并为其分配值后,就无法在整个程序中再次更改其值. 与C语言不同,Java(直接)不支持常量.但是,您仍然可以通过声明变量s ...
- java 内存溢出和内存泄漏_java中内存溢出和内存泄漏的区别
虽然在java中我们不用关心内存的释放, 垃圾回收机制帮助我们回收不需要的对象,但实际上不正当的操作也会产生内存问题:如,内存溢出.内存泄漏 内存溢出:out of memory:简单通俗理解就是内存 ...
- dma和通道的区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是http://java.io包中的所有类,他们是从jav ...
最新文章
- 大数据岗位必知必会的53个Java基础
- Maven jdk.1.7
- ps人像精修照片步骤_ps修图教程:人像精修
- Python字符串逐字符或逐词反转方法
- Waveform Audio 驱动(Wavedev2)之:WAV API模拟
- Java 性能优化实战记录(2)---句柄泄漏和监控
- 56 - I. 数组中数字出现的次数
- Flutter 踩坑 在bottomNavigationBar下显示bottomSheet
- protobuf string类型_Protobuf 语言指南(proto3)
- 人工智能机器学习笔记 10月10日
- android 5.0 屏幕录制,Android 5.0+ 视频录制 ScreenCapture
- DeepFaceLab教程 DeepFaceLab新手入门教程
- 最重要的经济先行指标—PMI
- R语言使用survival包的Surv函数创建生存对象、建立Cox回归模型(包含所有协变量)比较不同治疗方法生存率的差异、使用step函数基于AIC指标进行逐步回归法cox模型特征筛选(变量筛选)
- cobalt strik启动
- Android5.0直播不了,Android 5.0打开直播页面直接闪退
- unity的矢量数学
- 如何在spss结果输出页面显示命令/运行代码
- debian的几个lib源_Linux各个文件夹的主要作用 (源地址
- layui框架学习(13:辅助元素)
热门文章
- 启动Tomcat时报错,一大堆的
- Matlab图形窗口大小的控制 ,plot窗口大小,figure大小,axis设置
- 今天就来分享一招坐着减肥法~ 办公室“久坐族”也同样适用
- Adversarial examples in the physical world论文解读
- /usr/include/pcap/pcap.h源码
- 垃圾回收中的finalize方法
- HDU 2511二分+汉诺塔
- iOS研发助手DoraemonKit技术实现之Crash查看
- 为什么自建深度学习机器?因为比AWS便宜10倍啊!
- ECJia 到家 v1.5.1 发布,基于 O2O 的移动电商开源系统