分享

实例方法和类方法

 追梦136 2014-08-04
类方法:使用static修饰,属于整个类的,不是属于某个实例的,只能处理static域或调用static方法; 
实例方法:属于对象的方法,由对象来调用。

在方法前面加上static就成了类方法,例如:
public class Example { 
 
    float a, b; 
 
    // 实例方法 
    void sum(float x, float y) { 
        a = max(x, y); 
        b = min(x, y); 
    } 
 
    // 类方法 
    static float getMaxSqrt(float x, float y) { 
        float c; 
        c = max(x, y) * max(x, y); 
        return c; 
    } 
 
    // 类方法 
    static float max(float x, float y) { 
        return x <= y ? y : x; 
    } 
 
    // 实例方法 
    float min(float x, float y) { 
        return x <= y ? x : y; 
    } 


一个类中的方法可以互相调用。但要注意:实例方法可以调用该类中的其他方法,例如,sum()可以调用max()和min()。类方法只能调用其他类方法,不能调用实例方法。例如,getMaxSqrt()只能调用max()而不能调用min()。

当类文件加载到内存时,实例方法不会被分配内存空间,只有在对象创建之后才会分配。而类方法在该类被加载到内存时就分配了相应的内存空间。

实例方法既能对类变量操作也能对实例变量操作。

类方法只能访问其他static方法。

类方法只能访问其他static数据,例如,类变量。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多