A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 瓶中人 中级黑马   /  2013-10-26 12:02  /  1314 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在编写程序时,有时需要实现方法重写,而静态方法是不能实现方法重写的,只能以类名.方法名的方法调用,为什么呢?

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 其实,这些问题,都好简单的

查看全部评分

4 个回复

倒序浏览
因为方法是静态的,所有可以用类名直接调用,
因为静态方法是在类加载时候创建了内存地址的,所以不需要类实例化,他的初始化在new之前就完成了,
希望对你有帮助!
回复 使用道具 举报
静态的特点:
        随着类的加载而加载
        优先于对象存在
        对所有对象共享
        可以被类名直接调用

静态的注意事项
        1、静态方法只能访问静态成员
                为什么:因为静态的内容是随着类的加载而加载,它是先进内存的。
        2、静态方法中不能使用this,super关键字
        3、主方法是静态的

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报 1 0
在编写程序时,有时需要实现方法重写

重写是子类重写父类中的一模一样的方法。但是一般子类在继承父类后,子类的构造函数的一行必须super();一般程序是默认的,就是程序本身默认了这条super语句,super就加载了父类,父类中的静态方法在这时就生成在常量池中了,而被类名直接调用只是static的特性之一:
静态的特点:
        随着类的加载而加载
        优先于对象存在
        对所有对象共享
        可以被类名直接调用

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马