A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liu45495284 中级黑马   /  2015-7-18 00:15  /  1784 人查看  /  27 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

38.        分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填入( )。
class A {
    public void test() {
        System.out.println("A类的test()方法");
    }
}
class B extends A {
    public void test() {
        System.out.println("B类的test()方法");
    }
    public static void main(String args[]) {
                                          
    }
}
        A.        A a = new B();
                    a.test();
        B.        A a = new A();
            a.test();
        C.        B b = new A();
            b.test();
        D.        new B().test();

27 个回复

倒序浏览
A
多态,B重写了A的方法
回复 使用道具 举报
菩提本无树 来自手机 中级黑马 2015-7-18 00:44:55
藤椅
楼上说的对
回复 使用道具 举报
A  D都对 A  多肽,编译看左边,运行看右边 D  本类对象调用自己的方法
回复 使用道具 举报 1 0
选A,B是建立A类对象,D写法错误(test不是静态的),C没有这种写法
回复 使用道具 举报
A  子类的对象赋予父类的引用,多态的特性。
回复 使用道具 举报
蔡锐 中级黑马 2015-7-18 07:43:37
7#
A
多态,b重写了a的test方法
回复 使用道具 举报
其实验证对不对的方法就是自己去一个个试,还能自己加深理解.对你学习更有帮助~~~:)
回复 使用道具 举报
毋庸置疑的 选择  A 和 D     
A  多态写法
D  直接new出对象.方法
回复 使用道具 举报
楼上是对的 A 和 D
回复 使用道具 举报
选 A D
  1. class A
  2. {
  3.         public void test()
  4.         {
  5.                 System.out.println("A类的test");
  6.         }
  7. }
  8. class B extends A
  9. {
  10.         public void test()
  11.         {
  12.                 System.out.println("B类的test");
  13.         }
  14.         public static void main(String[] args)
  15.         {
  16.                
  17.                 A a = new B();  //选项A
  18.                 a.test();
  19.                
  20.                 new B().test(); //选项D
  21.         }
  22. }
复制代码

1.png (1.44 KB, 下载次数: 39)

1.png
回复 使用道具 举报
2楼说的对               
回复 使用道具 举报
已验证,A,D都可以。A是多态,父类引用指向子类,如果子类覆盖父类方法,那么a.test()执行之类的方法。
回复 使用道具 举报
Matrix_heima 发表于 2015-7-18 00:47
A  D都对 A  多肽,编译看左边,运行看右边 D  本类对象调用自己的方法

楼上说的对
D的调用:相当于B b=new B(); b.Test();
回复 使用道具 举报
选AD,这是对的,别听他们乱说
回复 使用道具 举报
选AD,不解释,这很明显是视频辅导班的试题
回复 使用道具 举报
AD盖,好喝的盖
回复 使用道具 举报
这道题只能选A,解析一下,A对是多太不需要解释,B运行的结果就是A类的test()方法,C选项如果在new A()前加上B类型,强制转换,还是可以的,D选项,B方法不是Static的,加上静态,选项就对了
回复 使用道具 举报
AD,多态的体现就是父类(或接口)的引用指向自己的子类对象。
回复 使用道具 举报
完全看不懂
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马