满意答案
dongrunze
2013.04.13
采纳率:49% 等级:11
已帮助:6046人
定,private修饰的变量和方法不可被子类继承,在子类中可以增加子类的变量和方法
3.(你写重复了)所有子类在产生对象是,都会默认去调用父类的构造方法,你可以测试一下。
4.动态绑定对两个有继承或者实现关系的类而言,下面是具体的细节:
1:编译器检查对象的声明类型和方法名。架设我们调用x.f(args)方法,并且
x已经被声明为C类的对象,那么编译器回列举出C类中所有的名称为f的方法和
从C类的超类的继承过来的f方法
2:接下来编译器检查方法调用中提供的参数类型。如果在所有名称为f 的方法中
有一个参数类型和调用提供的参数类型最为匹配,那么就调用这个方法,这个
过程叫做“重载解析”
3:当程序运行并且使用动态绑定调用方法时,虚拟机必须调用同x所指向的对象
的实际类型相匹配的方法版本。假设实际类型为D(C的子类),如果D类定义了
f(String)那么该方法被调用,否则就在D的超类中搜寻方法f(String),依次
类推
5.我觉得可以用public啊,final class的主要作用就是防止此类被继承,就是不想此类再有任何改变嘛~,抽象类就要加
public 吗?public只是修饰符而已,你可以去掉啊~~
//.......................................
补充:
可以在对象a中增加它自己的变量和方法吗?
不能!类就是模板,不能动态增加变量和方法!
如果非要增加:那用反射机制,好像可以实现。
但基本不存在此情况
就我所知,构造方法不能被继承。不过可以通过super()来引用
java.lang.String 和java.lang.Math应该是public类型的吧,加final就是终结类了,不可被继承。
另外,虚机团上产品团购,超级便宜
04分享举报