当前位置: 首页 > 知识库问答 >
问题:

“this”关键字的类型?[副本]

丁学
2023-03-14
class A {
    static void f() {
        System.out.println("A.f");
    }
    void g() {
        this.f();
    }
}
class B extends A {
    static void f() {
        System.out.println("B.f");
    }
}
public class C {
    public static void main(String[] args) {
        B test = new B();
        h(test);
    }
    static void h(B x) {
        x.g();
    }
}
A.f.

这到底是什么类型的?

共有1个答案

慕容昊焜
2023-03-14

静态方法不继承。当你打电话的时候

static void h(B x) {
    x.g();
}

您正在调用类A中声明的g(),它调用

static void f() {
    System.out.println("A.f");
}

方法是根据调用它们的引用的静态类型解析的。例如,方法、多态性和后期绑定可以执行实际的方法。但是,由于后期绑定不适用于static方法,所以您需要调用a.f()

 类似资料:
  • 涵义 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 前一章已经提到,this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在

  • 在 C# 中,可以使用 this 关键字来表示当前对象,日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。不仅如此 this 关键字还有一些其它的用法,下面就通过一些示例来分别演示一下。 1) 使用 this 表示当前类的对象 运行结果如下: 小牛知识库 https://www.xnip.cn/ 2) 使用 this 关键字串联构造函数 运行结果如下: 无参构造函数 小牛知识库

  • 主要内容:this.属性名,this.方法名,this( )访问构造方法this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。 下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用 this 前缀

  • 本文向大家介绍this 关键字的理解?相关面试题,主要包含被问及this 关键字的理解?时的应答技巧和注意事项,需要的朋友参考一下 this关键字用于引用类的当前实例。 例如: 在上面的示例中,this关键字用于两个地方: this.employees.length:访问类Manager的当前实例的变量。 this.report():调用类Manager的当前实例的方法。 此关键字是可选的,这意味

  • 本文向大家介绍this关键字详解,包括了this关键字详解的使用技巧和注意事项,需要的朋友参考一下 Java提供了一个this关键字,this关键字总是指向调用该方法的对象。根据this出现的位置的不同,this作为对象的默认引用有两种情形。 1)构造器中引用该构造器正在初始化的对象。 2)在方法中引用调用该方法的对象。 this关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或者实例变

  • 乍一看,这似乎并不是非常有用(即使是错误提及原始类型),但随着类型注释变得更加复杂, 关键字的好处变得明显。 联合类型允许类型注释指定属性应该是一组类型之一(两者任一)。 function admitAge (age: number|string): string { return `I am ${age}, alright?!`; } admitAge('Forty'); // 'I am