class A{
int num;
}class B extend A{
m(){
super.num=1;
num=2;
}
}存在两种实例化B的方法。
(1)A a=new B();
(2)B b=new B();问题一:那么这两种方法在使用b这个实例的时候有什么区别?
问题二:第一种方法在内存中创建了几个对象?A,B两个?
在b中m()方法spuer是指向父类的引用,那么内存中就必然后一个A类的实例,否则怎么会有指向A的引用super??
问题三:第二种方法在内存中创建了几个对象?只有B一个?
这个方法看似只创建了B一个对象,那么指向父类的引用super哪来的?
int num;
}class B extend A{
m(){
super.num=1;
num=2;
}
}存在两种实例化B的方法。
(1)A a=new B();
(2)B b=new B();问题一:那么这两种方法在使用b这个实例的时候有什么区别?
问题二:第一种方法在内存中创建了几个对象?A,B两个?
在b中m()方法spuer是指向父类的引用,那么内存中就必然后一个A类的实例,否则怎么会有指向A的引用super??
问题三:第二种方法在内存中创建了几个对象?只有B一个?
这个方法看似只创建了B一个对象,那么指向父类的引用super哪来的?
解决方案 »
- 关于内部类的继承问题
- FileInputStream FileNotFoundException知道问题在哪里,不知道怎么产生的
- 计算器开发中点击按钮后文本框的内容不显示
- java 获取MS Access刚刚插入数据的自动编号
- java.lang.NoClassDefFoundError
- 问一个Swing问题!
- 奇怪呀!谁能创建这个文件名的文件
- 关于正则表达式的问题。
- 100分问一个简单问题,希望有开发经验的提供宝贵意见!不胜感激
- 如何把图片打到可执行jar包,并在运行中载入?
- 请问大家Option类下面的argName方法得到参数名称怎么个用,,帮忙写个例子出来!!谢谢
- 各位大侠救命啊~~文件存取的问题!~
二、一个
三、只是访问继承过来的父类的fields而已