草庐IT

Abstract

全部标签

java - 哪个方法被覆盖?

这个问题在这里已经有了答案:InterfaceandAbstractclassadmethodoverriding(3个回答)关闭8年前。ClassA有run()方法,接口(interface)B也有run()方法。问题很简单,在Main类中重写了哪个run()方法,我们将如何证明这一点?为什么这段代码没有冲突(编译时错误)?classA{voidrun(){System.out.println("Aclass");}}interfaceB{voidrun();}classMainextendsAimplementsB{publicstaticvoidmain(Stringargs[]

java - Java中的抽象方法

我想写一个抽象方法,但是编译器一直报这个错误:abstractmethodscannothaveabody我有这样的方法:publicabstractbooleanisChanged(){returnsmtelse...}这里有什么问题? 最佳答案 抽象方法意味着它没有默认实现,实现类将提供详细信息。基本上,你会有abstractclassAbstractObject{publicabstractvoidmethod();}classImplementingObjectextendsAbstractObject{publicvoid

java - Java中的抽象方法

我想写一个抽象方法,但是编译器一直报这个错误:abstractmethodscannothaveabody我有这样的方法:publicabstractbooleanisChanged(){returnsmtelse...}这里有什么问题? 最佳答案 抽象方法意味着它没有默认实现,实现类将提供详细信息。基本上,你会有abstractclassAbstractObject{publicabstractvoidmethod();}classImplementingObjectextendsAbstractObject{publicvoid

Java最终抽象类

我有一个很简单的问题:我想要一个Java类,它提供一个公共(public)静态方法,它可以做一些事情。这只是为了封装目的(将所有重要的东西放在一个单独的类中)......这个类既不应该被实例化,也不应该被扩展。这让我写了:finalabstractclassMyClass{staticvoidmyMethod(){...}...//Moreprivatemethodsandfields...}(虽然我知道,但这是被禁止的)。我也知道,我可以将这个类设为最终类,并在将其设为私有(private)的同时覆盖标准构造函数。但这在我看来更像是一种“解决方法”,应该更可能由最终抽象类来完成...

Java最终抽象类

我有一个很简单的问题:我想要一个Java类,它提供一个公共(public)静态方法,它可以做一些事情。这只是为了封装目的(将所有重要的东西放在一个单独的类中)......这个类既不应该被实例化,也不应该被扩展。这让我写了:finalabstractclassMyClass{staticvoidmyMethod(){...}...//Moreprivatemethodsandfields...}(虽然我知道,但这是被禁止的)。我也知道,我可以将这个类设为最终类,并在将其设为私有(private)的同时覆盖标准构造函数。但这在我看来更像是一种“解决方法”,应该更可能由最终抽象类来完成...

java - 抽象类的公共(public)构造函数是否有充分的理由

不能通过直接调用abstract类的构造函数来创建对象。abstract类的构造函数只能从派生类中调用。因此似乎在我看来,抽象类的构造函数必须是protected或包私有(private)的(后者用于将构造函数的使用限制在派生类的特殊情况下)包)。然而,Java允许abstract类的构造函数是public。在任何情况下有用将abstract类的构造函数声明为public而不是protected还是包私有(private)的?这不是问题“Abstractclassconstructoraccessmodifier”的完全重复:显然你可以将构造函数声明为public;我想知道是否有任何好

java - 抽象类的公共(public)构造函数是否有充分的理由

不能通过直接调用abstract类的构造函数来创建对象。abstract类的构造函数只能从派生类中调用。因此似乎在我看来,抽象类的构造函数必须是protected或包私有(private)的(后者用于将构造函数的使用限制在派生类的特殊情况下)包)。然而,Java允许abstract类的构造函数是public。在任何情况下有用将abstract类的构造函数声明为public而不是protected还是包私有(private)的?这不是问题“Abstractclassconstructoraccessmodifier”的完全重复:显然你可以将构造函数声明为public;我想知道是否有任何好

java - 助手/实用程序类应该是抽象的吗?

我经常发现自己从类中提取常见行为到只包含一组静态方法的帮助程序/实用程序类中。我经常想知道是否应该将这些类声明为抽象类,因为我真的想不出实例化这些类的正当理由?将这样的类声明为抽象类的优点和缺点是什么。public[abstract]classUtilities{publicstaticStringgetSomeData(){return"someData";}publicstaticvoiddoSomethingToObject(Objectarg0){}} 最佳答案 你可以只声明一个什么都不做的私有(private)构造函数。将

java - 助手/实用程序类应该是抽象的吗?

我经常发现自己从类中提取常见行为到只包含一组静态方法的帮助程序/实用程序类中。我经常想知道是否应该将这些类声明为抽象类,因为我真的想不出实例化这些类的正当理由?将这样的类声明为抽象类的优点和缺点是什么。public[abstract]classUtilities{publicstaticStringgetSomeData(){return"someData";}publicstaticvoiddoSomethingToObject(Objectarg0){}} 最佳答案 你可以只声明一个什么都不做的私有(private)构造函数。将

Java:抽象类中的静态字段

我只是从一个例子开始,它解释得最好:publicabstractclassA{staticStringstr;}publicclassBextendsA{publicB(){str="123";}}publicclassCextendsA{publicC(){str="abc";}}publicclassMain{publicstaticvoidmain(String[]args){Ab=newB();Ac=newC();System.out.println("b.str="+b.str);System.out.println("c.str="+c.str);}}这将打印出来:b.st