JAVA中修饰符final,static,abstract 哪些可以在一起使用,什么含义?哪些不能一起使用?

 我来答
daay1986
2011-12-07 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1455万
展开全部
final 是老婆,独享的,这对象和引用就占起来,不能在把这个引用给别人了。
static是某个情人,这意味着他还是其他人的情人,所以这叫公共情人。一旦某个类有一个static了,那就意味着这个变量被这个类所有对象共用。
abstract 是小姐,很悲惨,只有到了做的时候你才知道是谁。而且很可能下一次可能又换人了。

你可以把你的老婆当做共同情人,所以final static 是可以一起的,但是你不能把天下的小姐都当做事你老婆,这是不合法的,所以final 和 abstract 是不能在一起的。如果你把static,abstract放一起就是你光顾某个小姐,那么其他人必须也要去找她,这也是不可能的所以这两个也是不能放一起的。
mikemelon
2011-12-06 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1557万
展开全部
不是这么学的,有很多种组合,你练练就会了,不然你还想问public, private, protected这些和上面的组合不,你想把它们的组合都背下来?

总结起来,能放修饰符的地方有4个(更高级的内部类就先不谈了):
1)类名或接口名前 2)类的成员变量前 3)类的成员方法前 4)方法内的局部变量前

你先搞清楚这四个位置吧:
public /* 1 */ class Test1 {
public /* 2 */ int instanceVariable;
public /* 3 */ void method( ) {
int /* 4 */ localVariable;
...
}
}

常见的会用就可以了,重要在于理解含义。

final可以用于类名前,表示类不可被继承;final用于变量前,表示它是只能一次赋值的变量,如果初始化了那就是常量
static可用于类内部的变量或方法前,表示这是整个类共享的变量和方法,与类对象无关。
abstract用于类名前表示一个抽象类,abstract用于成员方法前表示抽象方法,而抽象类内部至少要有一个抽象方法,这个跟final不能一起用,至于为什么,你一想就清楚了,抽象类本身必须有子类需要实现它的方法,但是final类又不能有子类,这不矛盾了么,所以不能一起用。

static final 用于修饰类的静态变量时表示一个常数,其实更多的还是用在接口里,毕竟用在类里面可能会被子类隐藏。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幽静孤雨下
2011-12-06 · TA获得超过187个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:114万
展开全部
final定义的类似与一个常量,static是静态修饰符(使用同一个内存地址,值变了,地址也不变),abstract抽象定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_spy
2011-12-10 · TA获得超过1256个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:161万
展开全部
final和abstract不能一起。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式