Tag: 抽象类

调用new和getInstance()之间的区别

调用Class.getInstance()等同于new Class() ? 我知道构造函数是为后者调用的,但是getInstance()呢? 谢谢。

用Java克隆对象

这样做会调用Asub的clone方法吗? 或Asub是否正确克隆? 如果没有,有没有办法通过这种方法推动深度克隆Asub? abstract class Top extends TopMost { protected Object clone() { Object obj = super.clone(); // deep copy and try catch } } abstract class A extends Top { protected Object clone() { Object obj = super.clone(); // deep copy and try catch } } class Asub extends A { protected Object clone() […]

谷歌分析没有反映片段

我在我的应用中使用Google Analytics。 我的应用程序中有片段。 我在基础片段上创建了一个抽象类。 并将其用于剩余片段。 任何人都可以帮我解决这个问题吗? 这就是我创建抽象类并将其扩展为片段的方法 public abstract class BaseFragment extends Fragment{..} 在这个基础片段中,我添加了谷歌分析代码,我能够在分析中跟踪它。 现在我有另一个以这种方式创建的类。 public class FirstFragmemt extends BaseFragment {..} 在这个片段中我也添加了分析代码,但它没有跟踪或反映。 有谁能说出原因是什么?

抽象类和多重inheritance

我们可以通过使用抽象类来实现与接口相同的function,那么为什么java不允许以下代码呢? abstract class Animals { public abstract void run(); } abstract class Animals1 { public abstract void run1(); } class Dog extends Animals,Animals1 { public void run() {System.out.println(“Run method”);} public void run1() {System.out.println(“Run1 method”);} } 我知道只使用接口可以实现多重inheritance,但上面的代码与接口完成的工作完全相同。

如何解决Java中缺少抽象字段的问题?

假设,我们有一个抽象类A ,我们想强制所有子类都有一个特定的字段。 这在Java中是不可能的,因为我们无法定义抽象字段。 解决方法1:强制子类实现提供所需值的方法。 abstract class A { abstract int getA(); } 缺点 :每个子类都必须为我们想要的每个抽象字段实现一个方法。 这可以导致许多方法实现。 优点 :我们可以在抽象类中使用方法getA ,并在A使用它实现方法,而不在每个子类中实现它们。 但是方法背后的价值不能被抽象类覆盖。 解决方法2:通过强制子类为抽象类提供值来模拟抽象字段。 abstract class A { int a; public A(int a) { this.a = a; } } 缺点 :当我们有多个字段(> 10)时,超级构造函数调用看起来有点难看和混乱。 优点 :我们可以在抽象类中使用字段a ,并在A使用它实现方法,而不在每个子类中实现它们。 另外,值a可以被抽象类覆盖。 问题:实现目标的常用方法是哪种解决方法? 也许比上面的更好?

强制重写非抽象方法

我在一个抽象类中有一个String foo()方法,它已经进行了一些预计算,但无法提供该方法应该返回的最终结果。 所以我想要的是,从我的抽象类inheritance的每个非抽象类必须以第一个调用super()然后计算结果的方式实现foo 。 有没有办法在java中强制执行此操作?

空抽象类是不好的做法,为什么?

我们的代码库中有几个空的抽象类。 我觉得很难看。 但除了这个非常愚蠢的原因(丑陋)之外,我应该重构它(例如空的界面)吗? 否则,代码是健壮的并经过充分测试。 因此,如果它只是出于“美学”的原因,我将通过并让空的抽象类保持不变。 你怎么看? 编辑: 1)通过“空抽象类”,我的意思是: public abstract class EmptyAbstractClass {} 2)“空虚”的原因:Hibernate。 我根本没有掌握这个持久性框架。 我只是理解一个接口不能映射到一个表,并且由于这个技术原因,一个类比接口更受欢迎。

需要抽象类和接口?

接口是100%抽象类,因此我们可以使用接口进行高效编程。 是否存在抽象类优于接口的情况?

抽象类的数组

为什么我不能实例化一个抽象类,而是创建一个抽象类的数组? public abstract class Game{ … } Game games = new Game(); //Error Game[] gamesArray = new Game[10]; //No Error

抽象类NumberFormat – 对getInstance()非常困惑

我是Java新手,我有一个初学者问题: NumberFormat是一个抽象类,所以我假设我不能创建它的实例。 但是有一个允许我这样做的公共静态(工厂?)方法getInstance() NumberFormat nf = NumberFormat.getInstance(); 我很困惑。 如果有人能给我提示,我会很高兴: 如果有一个公共方法来获取这个抽象类的实例,为什么我们还没有一个构造函数呢? 这是一个抽象的类; 我们怎么能有这个静态方法给我们一个类的实例? 为什么选择这样的设计? 如果我假设它有可能有一个抽象类的实例(???),我不明白为什么这个类应该是抽象的。 谢谢。