首页 > 试题广场 >

下列哪种说法是正确的()

[单选题]
下列哪种说法是正确的()
  • 实例方法可直接调用超类的实例方法
  • 实例方法可直接调用超类的类方法
  • 实例方法可直接调用其他类的实例方法
  • 实例方法可直接调用本类的类方法
推荐
选D。该题考察的是继承的特性实例方法、类方法的区别
  • 当类的字节码文件加载到内存中时,类的实例方法并没有被分配入口地址,只有当该类的对象创建以后,实例方法才分配了入口地址。
  • 当类的字节码文件加载到内存,类方法的入口地址就会分配完成,所以类方法不仅可以被该类的对象调用,也可以直接通过类名完成调用。类方法的入口地址只有程序退出时消失。
对于A,实例方法不可以调用超类的私有(private)实例方法。
对于B,实例方法不可以调用超类的私有(private)类方法。
对于C,同选项A一样的原因。
对于D,本类的类方法优先于实例方法地址的分配,所以实例方法可以调用优先于加载的类方法。D正确。
编辑于 2019-05-05 10:36:36 回复(4)
静态方法(类方法)不可以调用实例方法,但是反过来是可以的!!!😓
发表于 2019-07-23 23:18:55 回复(0)
D
发表于 2017-02-17 19:49:52 回复(0)
考察点一:修饰符的权限范围!!!
                 A,B , C:子类对象不能调用父类的私有方法,即用private修饰的(成员方法,静态方法),不能调用其他非子类的用default和private                      修饰的方法;
考察点二:直接调用是什么意思?   类似于 run(); 只有在自己的类中,可以使用this.run()来调用,其中this可以省略!(不太清除直接调用什么意                   思)
发表于 2019-07-15 19:32:02 回复(0)
实例方法是可以直接调用本类方法的
发表于 2019-05-07 00:45:05 回复(0)
答案是D。
其他选项修正如下:
  • 实例方法可直接调用超类的public实例方法
  • 实例方法可直接调用超类的public类方法
  • 实例方法可直接调用其他类的public类方法
发表于 2019-05-01 11:22:19 回复(0)
这道题没有答案
发表于 2017-04-18 22:01:04 回复(0)
实例方法可以调用本类的实例方法和静态方法(即类方法),类方法只能访问类成员变量和调用类方法
所以选D
发表于 2017-01-22 16:25:02 回复(1)