请教高手 A a= new B();
来源:互联网 发布:手机 视频剪辑 软件 编辑:程序博客网 时间:2024/05/15 23:52
2009-03-10 12:01cjp625511526 分类:网站使用 | 浏览 5935 次
A a= new B();B继承A,请问a是A的实例还是B的实例啊? 对象a可以调用A类中的方法吗?可以调用B的方法吗? 怎么个调用法?最好能举个例子! 谁能帮我解决啊,不胜感激!
为什么要把它的类型定义成A呢?这样做有什么好处?如果A、B类都有构造函数?先执行A的构造函数还是先执行B的构造函数?
2009-03-10 14:43提问者采纳
1.B继承A,请问a是A的实例还是B的实例啊? 答:B的实例 2.对象a可以调用A类中的方法吗?可以调用B的方法吗? 答:不一定,如果是虚拟方法,并且在B类重载了A的虚拟方法,a将会调用B的同名方法,普通方法会调用A的方法, 举例: class A { public void MethodA(){...} public virtual void MethodB(){...} } class A:B { public new void MethodA(){...} public override void MethodB(){...} } 其中,B类重写了A类的普通方法MethodA,也重写了A类的虚拟方法MethodB,则: A a = new B(); a.MethodA();// 将会调用A类的MethodA方法 a.MethodB();// 将会调用B类的MethodB方法// 补充:为什么要把它的类型定义成A呢?这样做有什么好处?答:A是基类,B是A的扩展,像B这样的扩展类可以很多很多的,如(B1,B2,B3......),扩展类是不可预见的,也需你在编写程序的时候还没有B2这个扩展类,你又怎么能调用B2 b = new B2()来创建B2的对象呢?你只有用A a;的方法定义一个引用,然后把B2传给a对象,
0 0
- 请教高手 A a= new B();
- A *a=new B();
- A *a=new B();
- A *a=new B();
- A a = new B();
- A ab=new B();
- A *p=new B;
- A a=new B()的意义
- 关于A a = new B()
- A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C();
- 请教 java中 a+=b+=a+=b 的详细运算过程
- (转)B是A的子类,那么A a=new B();4不像的产生
- C#中A a=new B()的意义
- JAVA中A a = new B();什么意思?
- C#中A a=new B()的意义
- 为什么A *a=new B不直接写成B b,或者B *p呢?
- A b=new B()子类的向上转型
- virtual,overload,,override,new (虚方法,重载,覆盖,隐藏)以及A a=new B()详解
- 使用mciSendCommand实现录音
- 探索应用开发的基础之android工程目录结构
- 关于HashTable,HashMap和TreeMap的几点心得
- bmp data for OSD
- Android 代码混淆can’t find referenced class问题解决方案
- 请教高手 A a= new B();
- (一)选择题
- 最长公共子序列算法
- health monitor
- FKJAVA读书笔记--第六章--面向对象(下)
- Mybatis高级应用
- spss 季节性分析
- IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目
- ios UI的自适应和布局