- 浏览: 34966 次
- 性别:
- 来自: 北京
文章分类
最新评论
1、jdk 1.8 之后,interface中的方法可以有方法体
interface和abstract相同点:
1、都不能被实例化
不同点:
示例:
abstract类:
interface类:
实现类:
public interface InterfaceTest { [color=red]public static void method(){ System.out.println("this is interface test ......"); } public default void methodOne(){ //该方法可以在实现类中从写 System.out.println("this is interface test"); }[/color] public void methodTwo(); }
interface和abstract相同点:
1、都不能被实例化
不同点:
类型 | abstract class | interface |
定义 | abstract class u关键字 | interface关键字 |
继承 | 抽象类可以继承一个类和实现多个接口 | 接口可以继承接口,子类可以实现多个接口 |
访问修饰符 | 抽象方法可以有public、protected和default | 接口方法默认修饰符是public,其他修饰符不可以使用 |
方法实现 | 可定义构造方法、抽象方法和具体方法 | 接口类没有构造方法,jdk1.8之后方法可以有方法体 |
实现方式 | 子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现 | 子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现 |
作用 | 方法复用 | 可以降低程序模块之间的耦合 |
示例:
abstract类:
public abstract class AbstractedClass { protected String getStringStr() { System.out.println("this is a abstract class method"); return ""; } public AbstractedClass (){ System.out.println("this is a abstract construct"); } public abstract String testAbstract(); }
interface类:
public interface InterfaceTest { public static void method(){ System.out.println("this is interface test ......"); } default void methodOne(){ System.out.println("this is interface test"); } void methodTwo(); }
实现类:
public class InterfaceExtend extends AbstractedClass implements InterfaceTest { @Override public void methodTwo() { } public static void main(String [] args){ InterfaceExtend interfaceExtend = new InterfaceExtend(); interfaceExtend.methodOne(); InterfaceTest.method(); interfaceExtend.testAbstract(); interfaceExtend.getStringStr(); AbstractedClass abstractedClass = new InterfaceExtend();//上转型 abstractedClass.getStringStr(); } @Override public String testAbstract() { return null; } }
发表评论
-
excel中插入图片
2020-09-25 11:03 3551、创建excel Workbook wb = ne ... -
阿里云OSS目录删除
2020-09-25 10:44 6411、列举指定目录下的文件 以下代码用于列举指定个数的文件 ... -
使用SAMBA 访问分享文件
2018-09-07 15:12 350/** * samba共享文件读取 ... -
使用RestTemplate将本地文件上传到服务器
2018-09-07 15:08 990/** * 将本地文件上传到文件系统 ... -
java 内存模型介绍
2018-08-23 10:22 376java 内存模型介绍 jvm 内存模型文 ... -
java 操作docker 容器
2018-08-21 14:53 1214java 操作docker 容器 github之dock ... -
java中获取用户的真实ip
2018-08-21 11:32 501获取登录用户的真实ip地址: /** * 用于 ... -
spring cloud 中使用zuul作为路由时上传文件名称乱码处理
2018-07-25 14:18 3021最近在做关于文件上传的接口,但是不管怎么处理,文件的名称总是乱 ... -
java连接ssh到服务器执行命令(免密码)
2018-07-09 16:00 4172今天在做不同服务器间,免密码执行curl 命令 ssh ... -
POI编辑存在的EXCEL文件
2018-07-06 09:34 986今天刚好在做对于一个存在的excel文件的编辑,使用到了POI ... -
java中自定义注解
2018-05-07 09:48 444java 自定义注解中的三个主要注解: @Target ... -
使用jhipster构建微服务,在打包启动是报错:liquibase.exception.LockException: Could not acquire ch
2018-01-10 15:21 4176报错的信息: liquibase.exception. ... -
HashMap四种取值的效率问题
2017-12-29 15:37 3408日常开发中会经常用到map来存取值,但是对于HashMap中的 ... -
文章内容关键字或短语替换
2017-12-29 13:55 741分析的源文件内容: <fileNode access ... -
前端项目跨域问题
2017-03-29 17:55 538前端项目访问主干项目出现跨域问题的解决方案: 1、主干项目 ... -
tomcat中配置memcached,共享session
2017-03-28 15:49 439Memcached Session Manager 简称ms ... -
spring学习
2016-04-02 08:25 384一、spring 1、Spring是一个大容器,目的是为了简 ...
相关推荐
- 抽象类是一种特殊的类,它可以包含抽象方法(没有具体实现的方法)和具体方法(有具体实现的方法)。 - 抽象类不能被实例化,只能作为其他类的父类。 - 子类可以通过继承抽象类来复用其中的具体方法,并必须实现...
1. 抽象工厂(Abstract Factory):这是模式的核心,它是一个接口或抽象类,定义了一系列创建对象的方法,但并不直接实例化具体的对象。这些方法用于创建一系列相关或相互依赖的对象。 2. 具体工厂(Concrete ...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...
在C#编程语言中,接口(Interface)和类(Class)都是用来定义对象行为的关键概念,但它们在设计和用途上存在显著差异。本文将详细阐述接口与类的异同,帮助开发者更好地理解和运用这两种机制。 **不同点:** 1. *...
在C#.Net编程语言中,类(Class)和结构(Struct)是两种基本的类型,它们都用于封装数据和行为,但它们之间存在着显著的区别。理解这些差异对于编写高效、可维护的代码至关重要。 首先,从示例来看,类和结构在...
为了实现这一目标,Java提供了接口(Interface)和抽象类(Abstract Class)两种机制。理解它们之间的区别对于Java开发者来说至关重要。这篇文章将深入探讨Java接口与抽象类的异同,并通过实际例子来阐述它们在实际...
Java语言的接口与抽象类是面向对象编程中的关键概念,它们在设计模式和代码组织中起着重要作用。这里我们将深入探讨这两个概念,并分析它们的异同。 首先,接口(Interface)是Java中的一种特殊类型,它通过使用`...
在Java中,使用`abstract`关键字来声明一个类为抽象类,而抽象方法则用`abstract`关键字和没有方法体的方式定义。 接口则更像一种完全抽象的合同,它只包含常量和抽象方法。接口的目的是定义一个行为规范,任何实现...
29、abstract class 和interface 有什么区别? 10 30、Static Nested Class 和Inner Class 的不同? 11 31、java 中会存在内存泄漏吗,请简单描述。 11 32、abstract 的method 是否可同时是static,是否可同时是native...
1. **抽象类(Abstract Class)**: - 抽象类是不能实例化的类,它通常包含抽象方法,这些方法没有具体实现,由子类来完成。 - 抽象类可以有构造函数,用于初始化子类对象。 - 抽象类可以包含非抽象方法(即已有...
2、C#的类和接口有什么异同? 答:不能直接实例化接口,接口不包含方法的实现。接口、类和结构可从多个接口继承。 三、XML技术 1、列举一下您所了解的 XML 技术及其应用? 答:XML(Extensible Markup Language)...
在.NET框架中,抽象类和接口都是用于实现多态性和代码重用的关键概念,它们各自具有独特的特性和用途。下面将详细阐述这两种概念的异同点。 首先,无论是抽象类还是接口,它们都无法直接被实例化,都需要通过继承来...
C#中接口和类的异同 在C#中,接口和类都是用于定义自定义类型的语言结构,但它们有着不同的设计目标和使用场景。接口是一种特殊的抽象类,它定义了一组方法签名,但不提供任何实现。类可以继承其他类,实现接口。 ...
4. **抽象类与接口的比较**:可能包括对比抽象类(Abstract Class)和接口的异同,以及在何时选择使用它们的指导。 5. **访问修饰符**:可能会涉及到如何通过访问修饰符(如public、private、protected等)控制继承...
4. **接口的应用**:对比抽象类和接口,理解两者的异同,编写使用接口的代码。 5. **设计模式实践**:可能涉及单例模式、工厂模式等,这些设计模式经常利用抽象类和接口来实现。 **学习资源** 346.344.JAVA基础教程...
接口和抽象类的异同点: 1. 实现接口使用 `implements` 关键字,继承抽象类使用 `extends` 关键字。 2. 接口没有数据成员,抽象类可以有。 3. 接口没有构造函数,抽象类可以有。 4. 接口方法都是 `public`,抽象类...
1、面向对象的特征有哪些方面?...23、抽象类(abstract class)和接口(interface)有什么异同? 24、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 25、Java 中会存在内存泄漏吗,请简单描述。
14. abstract class 和 interface 有什么区别? abstract class 是一个抽象类,interface 是一个接口。 15. heap 和 stack 有什么区别。 heap 是指内存中的堆栈,而 stack 是指方法调用栈。 16. GC 是什么?为...
- **详细解析**:`abstract class`和`interface`都是用于定义模板类的工具,但它们之间存在显著差异。`abstract class`主要用于定义一个基本类的骨架,它可以包含具体实现、抽象方法以及其他成员。`interface`则用于...
抽象类和接口的异同: 相同: 1. 都不能创建对象。 2. 都需要用子类或实现类来继承或实现。 3. 都可以包含抽象方法。 4. 普通的子类或实现类必须实现所有的抽象方法。 不同: 1. 抽象类可以包含普通方法,而接口...