相关疑难解决方法(0)

继承和"this"关键字

假设我们有下一个情况:

家长A:

class A{  
    public A(){}
    public doSomething(){  
        System.out.println(this.getClass());
    }
}
Run Code Online (Sandbox Code Playgroud)

带着孩子B级:

class B extends A{  
    public B(){}
    public void doSomething(){
        super.doSomething();
        System.out.println(this.getClass());
    }
}
Run Code Online (Sandbox Code Playgroud)

和主要课程:

class Main{  
    public static void main(String[] args){
        A ab=new B();
        ab.doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,结果是

B  
B
Run Code Online (Sandbox Code Playgroud)

为什么this在超类A中引用,B引用是类型A 时返回为类?

java inheritance this

12
推荐指数
3
解决办法
6725
查看次数

在抽象类中,"this"关键字是否重新构造父类或子类?

我有一个抽象类飞行.Flight包含调用私有方法调度的方法schedule()(最终Flight f)

public void schedule()
{
    schedule(this);
}

private void schedule(final Flight f)
{
    new Timer().schedule(new TimerTask()
    {
        @Override
        public void run()
        {
            f.checkIn();
            updateList();
        }
    }, this.getDate());
}
Run Code Online (Sandbox Code Playgroud)

现在让我说我有一个扩展Flight的类SouthWestFlight

Flight f = new SouthWestFlight(); //ignore the missing params doesn't matter for example
f.schedule();
Run Code Online (Sandbox Code Playgroud)

这会将Flight的实例或SouthWestFlight的实例作为schedule方法中的参数传递吗?

java this abstract

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

标签 统计

java ×2

this ×2

abstract ×1

inheritance ×1