码迷,mamicode.com
首页 > 编程语言 > 详细

10-12java

时间:2017-10-12 19:01:52      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:oid   pre   mesa   sub   ring   package   out   main   string   

1.

package com.mesakii.test;

public class Base_Sub {
    class Base{
        public Base() {
            test();
        }
        public void test() {
            System.out.println("这个test方法将被子类重写");
        }
    }
     class Sub extends Base{
        private String name;
        public void test() {
            System.out.println("子类重写父类的方法,其name字符串的长度为"+name.length());
        }
        public void main(String[] args) {
            //Sub s  = new Sub();
            /*
             * 上面这句话会产生错误,当系统视图创建Sub的对象s时,会先执行父类的构造器,而父类的构造器中调用的test()方法又被子类重写,所以对象s
             * 先执行父类的构造器,构造器重调用的方法是子类的方法,子类中的name 为空,所以,发生指针异常
             */
        }
    }

}

 

10-12java

标签:oid   pre   mesa   sub   ring   package   out   main   string   

原文地址:http://www.cnblogs.com/mesakiiyui/p/7657316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!