本帖最后由 陈劲松 于 2015-8-25 18:21 编辑
关于多态的问题,下面直接上代码:
- class Base
- {
- int student = 1;
- //定义父类的构造方法a()。
- void a()
- {
- System.out.println("fu");
- }
- }
- class Sub extends Base
- {
- //重新定义student变量。
- String student = "林珊";
- //定义Sub的构造方法a()。
- void a()
- {
- System.out.println("zi");
- }
- public static void main(String[] args)
- {
- Base ls = new Sub();
- //输出的是1,表明访问的是父类对象的变量。
- System.out.println(ls.student);
- //运行结果是zi,执行的是当前类的a()方法。
- ls.a();
- }
- }
复制代码
ls.student输出结果是父类中的1,而ls.a()执行的确实Sub中的a()方法,为何啊?
|
|