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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘勇强 中级黑马   /  2013-2-18 14:09  /  1735 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘勇强 于 2013-2-21 21:03 编辑

教程里有一句“不能有抽象构造函数或抽象静态方法”


不能有抽象构造函数还稍微能理解,但后半句抽象静态方法搞不清
抽象方法在接口或抽象类中,定义为静态后,如果定义另一个抽象之类实现这个抽象静态方法行不

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 范天成 于 2013-2-18 15:00 编辑

静态是不能够被继承的,也谈不上被重写,而接口中的抽象方法必须全被被重写,所以接口中没有定义静态抽象方法
回复 使用道具 举报
呵呵,这么分析吧
,静态方法的生命周期很长,它不管自己所在的类是否有实例都可以使用,只要在调用前加上类名(类名.静态方法名()),就可以了,也就是说它可以独立于所在的类的实例对象而存在.
抽象方法是什么呢?在一个抽象类中抽象方法其实只有一个声明并没有定义.如下:
  1. public abstruct void function();
复制代码
它只有方法声明而没有方法体,它都必须要子类来实现才会真正存在.

那么你说一个可以独立于所在类的对象而存在的方法(静态)还能满足必须要有子类了以后才能存在(抽象)这样的条件吗?

评分

参与人数 2技术分 +1 黑马币 +20 收起 理由
刘勇强 + 20
Rancho_Gump + 1

查看全部评分

回复 使用道具 举报
杨玲 发表于 2013-2-18 18:21
呵呵,这么分析吧
,静态方法的生命周期很长,它不管自己所在的类是否有实例都可以使用,只要在调用前加上类名( ...

thx   有时候想着想着就范迷糊 跟钻牛角尖里了  一样

回复 使用道具 举报
杨玲 发表于 2013-2-18 18:21
呵呵,这么分析吧
,静态方法的生命周期很长,它不管自己所在的类是否有实例都可以使用,只要在调用前加上类名( ...

thx   有时候想着想着就范迷糊 跟钻牛角尖里了  一样

回复 使用道具 举报
刘勇强 发表于 2013-2-18 21:22
thx   有时候想着想着就范迷糊 跟钻牛角尖里了  一样

呵呵,晕着晕着就好点了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马