联系博主          博客地图
           

类方法可以理解为静态方法吗

Posted on 2007-08-22 14:42 怎么羡慕天空的飞鸟 阅读(1609) 评论(4)  编辑  收藏 所属分类: java
对于实例方法,实例变量和类方法,类变量的区分的不是很清楚,谈一下个人现在理解程度:

1,类方法类变量是静态方法,静态方法和静态变量可以看作是全局的。
2,实例方法和是实例变量可以看作是由类new出来的对象,是局部的。

规则:
1,全局的可以调用全局的
2,局部的可以调用局部的
3,局部可以调用全局的
4,全局不可以直接调用局部的
5,实例方法和实例变量只可以由对象引用,而类方法和类变量可以由类名或对象引用。

以上是自己的一些看法,不对的地方请指教。

    核心: 勇敢进取年轻的心

 

Feedback

# re: 类方法可以理解为静态方法吗  回复  更多评论   

2007-08-23 11:07 by 轩朗=maninred
你可以看看Ruby中对类方法的解释,它的解释大概是,类也是一种对象,是一种能够生成对象的对象(比如使用new方法),所以类方法是类这种对象的方法,而不是类对象所生成的一般对象的方法。

# re: 类方法可以理解为静态方法吗  回复  更多评论   

2007-08-23 14:20 by Unmi
博主理解的太复杂了,类方法就是不依据于实例而存在的方法,调用时不用传递隐含的this指针,实例方法则不同。
类方法就是静态方法,静态方法中调用实例方法需要通过实例来调用
为什么静态方法中不能直接调用实例方法呢,因为在调用时没有产生实例。

# re: 类方法可以理解为静态方法吗  回复  更多评论   

2007-08-23 18:11 by 怎么羡慕天空的飞鸟
谢谢Unmi的帮助,对类方法理解更透彻了。类方法可以理解为只要相应的类存在,java就会为类方法开辟相应的内存,而实例方法只有在实例化时java才为其开辟相应的内存。不知道用内存来解释是否合适?@Unmi
@轩朗=maninred
@Unmi

# re: 类方法可以理解为静态方法吗[未登录]  回复  更多评论   

2007-09-04 13:20 by unmi
实例方法也并非说只有实例化化时java才为其开辟相应的内存,应该是类被加载并初始化后,实例方法就有了相应的内存区,多个实例方法调用的实例方法地址是一样的,只是带了一个this指针参数,所以方法在某些情况下需要进行同步。

要理解 ClassLoader

只有注册用户登录后才能发表评论。


网站导航:
 

Copyright © 怎么羡慕天空的飞鸟