aa.a(b); // 调用实例aa中的函数a
a(b) // 等同于this.a(b),调用当前实例中的函数a
a(b) // 等同于this.a(b),调用当前实例中的函数a
解决方案 »
- 用Socket进行通信的时候,是用DataStream好一点还是ObjectStream好一点?
- Spring 鼠标单击事件
- 沒有看到執行strSql 數據庫代碼??
- domparser。setfeature问题
- 问个小问题
- 小程序,根据用户输入给出不同的输出
- 關於播放多媒體的問題?急。分不夠可加。
- 很菜
- 常见问题解答: Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
- 做过网站的请给个idea----关于网页动态更新
- 哪位开发过在线考试系统啊?给点参考!
- 最复杂的循环啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
重写后:
aa.a(b);//调用的是abc类里面的a。
a(b)//调用的是abcd里面你重写后的方法a
abc aa; // 你们有没有看这一句啊
aa.a(b);//这两
a(b)//种调用有什么区别?
abc aa=new abcd();
aa.a(b);
你认为是调的谁的a?
你创建的是abcd的一个实例,
但是转化成了abc类型,所以调用的应该是abc的方法,
如果你在abcd中重载了abc中的方法,那abc中方法可能被覆盖,
当然你调用的还是abc的方法,不同的是abc中被覆盖的方法。
记住只有实例方法才能被覆盖,类方法是不能覆盖的。
直接调用只能是这个对象的成员函数才可以,默认宿主是this
对象实例加点调用,默认宿主是至指定的对象实例
”直接调用方法”:如果是调用静态变量和方法(static),就可以通过两种方法来实现。
没办法啊~!
很急啊~!
希望能得到你的帮助阿谢谢你啊
aa还不能使用。因为还没有分配内存空间。
abc aa = new abc();
aa.a(b) 是在子类abcd 中实例化了一个abc对象;
而a(b)方法是直接调用父类的方法,在这种情况下,当我们需要实例化一个abcd对象时,a(b)方法是调用父类的方法,而aa.a(b)是调用abcd中这个abc对象的方法,也就是说,如果二者同时存在,abcd对象会涉及到两个abc的实例,一个是在调用abcd构造函数时会生成一个父类abc的实例,一个是abc aa得到abc对象。2. 如果仅在 “xvivian(乖妹妹) ”小姐所举的例子中来说,二者没有实质上的区别。但如果在一个更大的范围内来讨论这个问题才有意义。如果在一个面向对象的编程环境中,aa.a(b)是对对象aa发送消息。3. 建议去看一下"thinking in java"这本书。
而a(b)是会先考虑自己(abcd)的a方法,如果重载了就调用自己的a方法了;
但此题中却看不出来,呵呵