黑马程序员技术交流社区
标题:
抽象类中为什么可以定义静态方法?有何意义?
[打印本页]
作者:
HM张博文
时间:
2013-7-4 09:23
标题:
抽象类中为什么可以定义静态方法?有何意义?
抽象类中为什么可以定义静态方法?有何意义?
作者:
贾永长
时间:
2013-7-4 10:04
1、以前有个误区:一直以为抽象类中不能有静态方法(原因认为一有静态方法,就开辟了内存空间,就违背了抽象类不能实例化的定律)
2、现在知识更新:抽象类中可以定义静态方法
1:静态方法在方法区开辟的空间,又不是对象在堆内存开辟空间,所以更谈不上抽象类中实例化了。
2:static属于类,不需要再弄个子类继承实现方法了,而是直接抽象类名调用即可。{:soso_e130:}
作者:
王广亚
时间:
2013-7-6 00:49
毕老师说,抽象类与普通类没有什么区别,只是抽象类不能创建对象罢了。只要记住这句话以后就不会出现问题了
作者:
杨增坤
时间:
2013-7-10 19:35
1.抽象类不能被实例化,不能直接用new来创建对象。所以要把其中的成员变量要定义成静态的,可以直接用类名访问,这样就不用对象来访问,可以不违反访问规则。
2.抽象类中定义静态的方法的话,就是每个继承此抽象类的子类,都有相同的功能,所以要把这个功能定义成静态的函数。但是要是静态的函数必须有函数体,否则会报异常。
3.抽象类中要是定义不是静态的函数话,若不是抽象函数,其他的必须要有函数体。
4.抽象类这样定义 abstract static 返回值类型 函数名();因为这样是给其两个限制 ,虚拟机不知道按那个权限编译。
希望我说的对你有帮助!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2