草庐IT

Super-Resolution

全部标签

java - 在java中的 super 调用之前创建一个对象

考虑到无法运行的简单java代码:publicclassBarextendsAbstractBar{privatefinalFoofoo=newFoo(bar);publicBar(){super(foo);}}我需要在super()调用之前创建一个对象,因为我需要将它推送到母类中。我不想使用初始化block,也不想做类似的事情:super(newFoo(bar))在我的构造函数中..如何在super调用之前向母类发送数据? 最佳答案 如果Foo必须存储在一个字段中,您可以这样做:publicclassBarextendsAbstr

java - 子类中的方法可以重载父类(super class)中的方法吗?

Java代码:classP{publicvoidhello(){}}classCextendsP{publicvoidhello(Strings){}}我的问题是:类C中的hello是否重载了父类(superclass)P中的同名对象?我的friend说他们不是因为他们不在同一个类(class)。 最佳答案 采用更正式的方法,Java7的Java语言规范指出:Iftwomethodsofaclass(whetherbothdeclaredinthesameclass,orbothinheritedbyaclass,oronedecl

java - 在我的类(class)中将 super() 或 this() 放在哪里

我有一个Servlet类,用于处理我不想在我拥有的每个Servlet上重复的功能。我仍在努力(即它仍然只加载index.jsp而不是其他文件)。publicclassMyServletextendsHttpServlet{publicMyServlet(){super();}publicvoidloadView(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{RequestDispatcherdispatcher=request.getRequestDisp

java - 访问未覆盖的父类(super class)方法时使用 'super' 关键字

我正在尝试掌握Java中的继承窍门,并且了解到当覆盖子类中的方法(和隐藏字段)时,仍然可以使用“super”关键字从父类(superclass)访问它们。我想知道的是,“super”关键字是否应该用于非覆盖方法?有什么区别(对于非覆盖方法/非隐藏字段)吗?我在下面整理了一个示例。publicclassVehicle{privateinttyreCost;publicVehicle(inttyreCost){this.tyreCost=tyreCost;}publicintgetTyreCost(){returntyreCost;}}和publicclassCarextendsVehic

java - 自定义异常中的 super 调用

我只想知道为什么我们在自己创建的自定义异常中调用super。publicclassMyExceptionextendsException{publicMyException(Stringmessage){super(message);}}这里调用super(message)有什么用 最佳答案 由于派生类总是以基类为模板,因此在构造派生对象时,首先需要对基类进行初始化。默认情况下,如果没有super调用,Java将使用默认(无参数)构造函数来创建基类。如果你想使用不同的构造函数,你必须使用super来传递你想要的参数并调用正确的构造函

java - Super() 不在我的扩展类上工作

我是java的新手,我正在做一个简单的程序,但我不知道为什么当我尝试使用super时我的程序会出错...有人可以解释我还是什么是我的错误,因为它不接受super.myCoord()我应该更改或添加什么?publicclassmyCoord{privatedoublecoorX,coorY;publicmyCoord(){coorX=1;coorY=1;}publicmyCoord(doublex,doubley){coorX=x;coorY=y;}voidsetX(doublex){coorX=x;}voidsetY(doubley){coorY=y;}doublegetX(){ret

java - java中super不能作为构造函数第一行时的解决方法

我正在使用将本地文件作为输入的CSVReader类。但是现在,我需要能够读取本地文件以及具有URL路径的文件(如http://example.com/example.txt)。为此,我想从CSVReader派生一个类来标识文件是本地文件还是URL,然后在构造函数的第一行中使用super()将InputStream传递给父级。这样做的优雅方式是什么?publicclassFileReaderextendsCsvReader{publicFileReader(){if(fileName!=null){if(fileName.trim().startsWith("http:")){//iti

java - 类数组列表 : ArrayList<Class> but how to force those classes to extend some super class?

我想管理类的ArrayList。例如,我有3种类型的过滤器:TextFilter、DurationFilter和扩展Filter的TimeFilter。这似乎是正确的:Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(DurationFilter.class);filters.add(TimeFilter.class);但是现在我想用来限制ArrayList类型Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(D

java - isAnnotationPresent() 在 Java 中与父类(super class)型引用一起使用时返回 false

我正在尝试使用反射从父类(superclass)型引用变量中获取注释详细信息,以使该方法接受所有子类型。但是isAnnotationPresent()返回false。与其他注解相关的方法相同。如果用于确切的类型,则输出符合预期。我知道注释信息将在对象上可用,即使我通过父类(superclass)型引用也是如此。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})public@interfaceTable{Stringname();}@Table(name="some_table")publicclassSomeEn

java - 父类(super class)不调用重写的方法吗?

我有以下类(class):classfoo{publicvoida(){print("a");}publicvoidb(){a();}}classbarextendsfoo{publicvoida(){print("overwrittena");}}当我现在调用bar.b()时,我希望它调用foo中重写的方法a()。但是,它确实会打印“a”。 最佳答案 你的两个类在不同的包中吗?你的foo类方法是声明为public、protected、private还是packagelocal?显然,如果他们是私有(private)的,这将行不通。