相关疑难解决方法(0)

多态性与重写与重载

就Java而言,当有人问:

什么是多态?

超载重载是一个可以接受的答案?

我认为还有更多的东西.

如果您有一个抽象基类定义了一个没有实现的方法,并且您在子类中定义了该方法,那还是会覆盖吗?

我认为超载肯定不是正确的答案.

java oop polymorphism overriding overloading

340
推荐指数
12
解决办法
25万
查看次数

为什么使用"this"关键字来获取超类方法

我看到一些Java示例使用this关键字来获取超类方法.示例:this.superClassMethod().通常情况下我们会使用super.有人可以帮助澄清为什么开发人员使用this而不是super?谢谢.

java

6
推荐指数
2
解决办法
5923
查看次数

你应该使用超类构造函数来设置变量吗?

我不知何故认为这样做是个坏主意.这样做通常很常见吗?我不确定它的用法,因为我在实践中从未见过它,无论如何都是一个现实世界的例子.

public abstract class Car{
    protected int speed;

    public Car(int speed){
        this.speed = speed;
    }
}

public class Ambulance extends Car{
    public Ambulance(int speed){
        super(speed);
    }
}
Run Code Online (Sandbox Code Playgroud)

java inheritance constructor superclass

3
推荐指数
1
解决办法
98
查看次数

super()在这做什么

我正在浏览Android恶意软件中的一段代码以了解它的工作原理.av类定义如下

public final class av implements android.widget.AdapterView.OnItemClickListener {
    final ChooserActivity a;
    public av(ChooserActivity chooseractivity) {
        super();
        a = chooseractivity;
    }
    ...Other methods here
}
Run Code Online (Sandbox Code Playgroud)

super()调用直接的父类构造函数 - >我知道

父类是Object.所以构造函数将返回什么.意味着返回对象的属性是什么.

java android

2
推荐指数
1
解决办法
237
查看次数

当没有明确定义的超类时,为什么在超类中使用超级调用

package Geometry;

public abstract class GeometryFigures{

protected double surfaces;
protected double perimeter;

public GeometryFigures(double surfaces, double perimeter) {

    super(); //**<---Why use super call here?**

    this.surfaces= surfaces;
    this.perimeter= perimeter;
}

public double getSurfaces() {
    return surfaces;
}

public double getPerimetre() {
    return perimeter;
}


}
Run Code Online (Sandbox Code Playgroud)

所以基本上一切都在标题中.我想知道为什么我需要在超类中使用super().

谢谢你的帮助.

java class super

2
推荐指数
1
解决办法
145
查看次数

在Java中使用super()?

我正在尝试学习java oop,当我做一些例子时,我发现了一些理解使用super方法的问题.请检查下面的代码.

你能告诉我为什么超级(); 方法没有引用superClass?我不明白.

superClass:

package javaapplication;

public class A {

    protected String val;

    public A(){

        this.val = " Class A ";
    }
}
Run Code Online (Sandbox Code Playgroud)

子类

package javaapplication;


public class B extends A {


    public B(){

         this.val = " Class B";
         System.out.println(super.val);


    }
}
Run Code Online (Sandbox Code Playgroud)

主类

package javaapplication;

public class JavaApplication {

    public static void main(String[] args) {

        B a = new B();


    }

}
Run Code Online (Sandbox Code Playgroud)

输出:运行:B类

为什么我得到"B级"?

java oop

0
推荐指数
1
解决办法
348
查看次数

什么可以是从构造函数调用super()的实际示例?

我们知道可以从子类的构造函数中调用父类的构造函数.它可以通过调用super来完成,super应该是构造函数的第一个语句.

它是否只是为了增加OOP概念的特征数量而保留的功能还是有任何实际应用?

如果有任何实际应用,请说明.

在回答之前,请看一下这里:

我要求实际应用.这意味着一个现实生活场景,使用此功能非常有用,而不是以其他方式完成工作.

每个人都只是发布概念或代码如何工作.但我已经知道了.我只想要一个实际的场景,它可以让我免于编写大量代码或者无法做其他代码.

java oop super

-2
推荐指数
1
解决办法
115
查看次数