让抽象类定义实例变量是否是一种好习惯?
public abstract class ExternalScript extends Script {
String source;
public abstract void setSource(String file);
public abstract String getSource();
}
然后,子类ExternalJavaScript.class会自动获取源变量,但我认为,如果所有子类本身都定义了源而不是继承,则读取代码会更容易。
你有什么建议?
/亚当
我本以为这样的话会更好,因为您要添加一个变量,所以为什么不限制访问并使它更整洁呢?您的吸气器/装夹器应该按照罐子上的说明去做。
public abstract class ExternalScript extends Script {
private String source;
public void setSource(String file) {
source = file;
}
public String getSource() {
return source;
}
}
再次提到这个问题,您在阅读时是否会费心地查看getter /
setter代码的位置?如果它们都可以获取和设置,那么您在读代码时就不必担心函数会做什么。还有其他一些原因需要考虑:
始终想一想您的课程是否真的与众不同,这应该有助于决定您是否还需要其他内容。
Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为 抽象类。 在 Java 中抽象类的语法格式如下: 其中,abstract 表示该类或该方法是抽象的;class_name 表示抽象类
本小节我们将学习 Java 中的抽象类,你将了解到抽象类的概念和特点,抽象类在程序设计时的应用场景,什么是抽象方法,抽象方法有什么特点,如何声明一个抽象方法等内容。 1. 概念和特点 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 值得注意的是,一个抽象类不能直接实例化,但类的
问题内容: 我来自c#,这很容易而且可能。 我有以下代码: 但是Eclipse告诉我我使用了非法的修饰符。 我有这个课: 我想要以这样的方式定义变量和方法,以使Eclipse 提示我 ,我没有实现抽象 变量 和方法。 我需要如何定义抽象类,以便提示我实现抽象? 编辑1 我将为不同的数据库表创建不同的类。每个类都应具有自己的TABLENAME变量,也不例外。每次创建扩展抽象类的新类时,都必须确保此变
问题内容: 我有一个很简单的问题: 我想要一个Java类,该类提供一个公共静态方法,该方法可以执行某些操作。这只是出于封装目的(将所有重要的内容都放在一个单独的类中)… 此类不应被实例化或扩展。那让我写道: (尽管我知道,这是禁止的)。 我也知道,我可以使此类完全为final,并在将其私有化时覆盖标准构造函数。 但这在我看来更像是一种“解决方法”,应该更可能由最终的抽象类完成… 而且我讨厌解决方法
我有一个抽象类,这个类是在她的子类中扩展的: < li >我在这个抽象类上实现了一个方法,并抽象了另一个方法 < li >实现的方法是每个子类对象都必须访问的通用方法。所以我决定在抽象类上实现它,避免在每个子类上实现相同的方法。 小例子: 我想听听你对这种实施方式的看法, 问候。
我得到了tasteScore值=7.0。它的意思是double(超级类),但我想打印tastescore的int值。如何访问Bread类tasteScore而不是Food类?