问题内容: 抽象类只能用作由其他类扩展的基类,对吗?抽象类的构造函数可以具有常用的访问修饰符(公共,保护和私有(供内部使用))。其中和是使用正确的访问修饰符,因为抽象类型似乎表明技术上的公共构造将起到非常保护?我应该在所有构造函数上使用protected吗? 问题答案: 因为抽象类型似乎表明从技术上讲,公共构造函数将在很大程度上受到保护 这是不正确的。抽象类不能通过调用其构造函数直接实例化,但是,
问题内容: 在Java中,我可以在抽象类中获取扩展它的具体类的实例吗? 问题答案: 是的,您可以致电。这将为您提供运行时类型为的实例。 如果只需要类的名称,则可以使用。 最后,还有和。我一直使用前者来打印可读的类名以记录文件等。
问题内容: 我发现情况: 问题答案: 您同时满足这两个条件;即。一种实现是同时满足抽象类要求和接口要求。 注意,除非在另一个继承链中使用,否则不需要它。另外,将其移至抽象类定义可能很有意义。
问题内容: 我很难理解为什么一个类中的动作是抽象的而另一个类中的动作却不是抽象的。 源代码1:(编译时出错:https : //gyazo.com/cd3c21a8562589451814903febaf89fe) 源代码2 :(编译好的代码) 问题答案: 因为在第一个示例中您输入错误: 应该是
问题内容: 我正在做一个项目,目前正在用log4j实现一些日志记录,我很好奇我应该如何实现日志。我要介绍的两个实现如下: 第一选择 将超类的单个日志用于该类和所有子类: 第二种选择 为每个类,上级和下级使用单独的日志: 什么更有意义,为什么? 问题答案: 我也不会 相反,我会在两种情况下都使用正确的类。 如果您不进行大量日志记录(无论如何是个好主意),则可以改用一种方法。 如果有一个类经常调用它,
问题内容: 在Java中,您可以创建一个仅包含抽象方法的抽象类。另一方面,您可以创建一个声明相同方法的接口。在这种情况下,可以使用抽象类代替接口吗? 问题答案: 不总是: 一堂课只能延伸 一 堂课 一个类可以实现 多个 接口 Sun文档 进行了更详细的比较: 抽象类与接口 与接口不同,抽象类可以包含非静态和最终字段,并且可以包含已实现的方法。此类抽象类与接口相似,不同之处在于它们提供了部分实现,将
问题内容: 以封装为例,我可以想到用户与手机之间的交互。用户不需要知道手机的内部工作即可操作,因此这称为抽象。但是封装适合本例吗?有人可以对此进行说明吗? 问题答案: 封装是一种实现“信息隐藏”的方法,因此,按照您的示例,您不需要“知道移动电话的内部工作原理”。您有一个界面来使用设备行为而无需了解实施细节。 另一方面,抽象可以解释为对不同对象使用相同接口的能力。可以存在同一接口的不同实现。细节通过
问题内容: 我需要使用spring框架在抽象超类中注入依赖项。 我每次实例化Abstract class B时都需要传递超类依赖关系(可以在我的项目中以100多种方式将其子类化) application.xml(Spring上下文文件)中的条目 我如何才能在application.xml中创建超类AbstractClassB的bean引用,以便可以在所有子类bean创建中使用它? 问题答案: 你可
本文向大家介绍深入理解Java的接口与抽象类,包括了深入理解Java的接口与抽象类的使用技巧和注意事项,需要的朋友参考一下 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本
问题内容: 我正在尝试使用Gson反序列化JSON格式的树对象。每个节点都包含其子节点作为对象类型Node的字段。Node是一个接口,具有多个具体的类实现。在反序列化过程中,如果我不知道节点属于哪种类型,那么在反序列化节点时如何与Gson沟通要实现哪个具体类?每个节点都有一个指定类型的成员字段。当对象为序列化形式时,是否有一种方法可以访问该字段,并以某种方式将该类型传达给Gson? 谢谢! 问题答
问题内容: 为什么即使该类中没有抽象方法,也将类声明为抽象? 问题答案: 这是因为它遵循模板方法设计模式。这些方法具有返回HTTP 405 未实现方法 错误的所有默认行为。如果所有这些方法都是抽象的,那么即使您的业务需求根本不需要它们,也将不得不覆盖所有这些方法。这只会导致样板代码和不确定/不直观的行为。
问题内容: 抽象类可以有构造函数吗? 如果是这样,它将如何使用以及用于什么目的? 问题答案: 是的,抽象类可以具有构造函数。考虑一下: 超类是抽象的,并且具有构造函数。具体的类具有仅对值2进行硬编码的构造函数。具体的类具有允许调用者指定值的构造函数。 抽象构造函数将经常用于强制类约束或不变量,例如设置类所需的最小字段。
(1)接口 接口使用interface修饰; 接口不能实例化; 类可以实现多个接口; ①java8之前,接口中的方法都是抽象方法,省略了public abstract。②java8之后;接口中可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现; (2)抽象类 抽象类使用abstract修饰; 抽象类不能被实例化; 抽象类只能单继承; 抽象类中可以包含抽象方法和非抽象方法,非抽象
问题内容: 我想在自己的类中调用抽象类的方法。抽象类是: 我想调用上面的方法,并且调用的类是: 每当我尝试运行上述类时,它都会在line上引发NullPointerException 。谁能告诉我如何解决这个问题? 问题答案: 首先,一个抽象类,因此您不能直接实例化它。您必须创建一个子类,比如说它覆盖Call中的任何抽象方法。 获得一个意味着您作为参数传入的任何内容都尚未初始化。因此,在创建Cal
本文向大家介绍python多线程抽象编程模型详解,包括了python多线程抽象编程模型详解的使用技巧和注意事项,需要的朋友参考一下 最近需要完成一个多线程下载的工具,对其中的多线程下载进行了一个抽象,可以对所有需要使用到多线程编程的地方统一使用这个模型来进行编写。 主要结构: 1、基于Queue标准库实现了一个类似线程池的工具,用户指定提交任务线程submitter与工作线程worker数目,所有