黑马程序员技术交流社区

标题: 关于方法重写的问题 [打印本页]

作者: 瓶中人    时间: 2013-10-26 12:02
标题: 关于方法重写的问题
在编写程序时,有时需要实现方法重写,而静态方法是不能实现方法重写的,只能以类名.方法名的方法调用,为什么呢?
作者: 漫步人    时间: 2013-10-26 14:04
因为方法是静态的,所有可以用类名直接调用,
因为静态方法是在类加载时候创建了内存地址的,所以不需要类实例化,他的初始化在new之前就完成了,
希望对你有帮助!
作者: 胡志翔    时间: 2013-10-26 18:42
静态的特点:
        随着类的加载而加载
        优先于对象存在
        对所有对象共享
        可以被类名直接调用

静态的注意事项
        1、静态方法只能访问静态成员
                为什么:因为静态的内容是随着类的加载而加载,它是先进内存的。
        2、静态方法中不能使用this,super关键字
        3、主方法是静态的
作者: 孙涛00    时间: 2013-10-26 19:15
在编写程序时,有时需要实现方法重写

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2