java中 静态类.静态方法 。类.方法。 静态类.方法。 对象.方法。他们之间的区别是什么?

java中 静态类.静态方法 。类.方法。 静态类.方法。 对象.方法。他们之间的区别是什么?

4个回答

[少废话,上代码]:

// 外部类,不能是静态的
public class OuterClass {

    // 静态方法,又称为类方法,属于Test类
    public static void staticFun() {
    }

    // 非静态方法,又称为实例方法,属于Test类的具体实例
    public void nonStaticFun() {
    }

    // 静态内部类,静态类只能是内部类
    public static class StaticInnerClass {

        // 静态方法,属于StaticInnerClass类
        public static void staticFun() {
        }

        // 非静态方法,属于StaticInnerClass类的实例
        public void nonStaticFun() {
        }
    }

    // 非静态内部类,不能有静态方法
    public class NonStaticInnerClass {

        // 非静态方法,属于NonStaticInnerClass的实例
        public void nonStaticFun() {
        }
    }

    // 测试代码如下:
    public static void main(String[] args) {
        // 对于静态方法,使用类直接访问
        OuterClass.staticFun();
        StaticInnerClass.staticFun();

        // 对于非静态方法,需要使用类的实例访问
        new OuterClass().nonStaticFun();
        new StaticInnerClass().nonStaticFun();

        // 对于非静态内部类,必须创建外部类后才能使用
        OuterClass outerClass = new OuterClass();
        NonStaticInnerClass nonStaticInnerClass = outerClass.new NonStaticInnerClass();
        nonStaticInnerClass.nonStaticFun();
    }
}
wanghang1208
wanghang1208 请把上述注释中的 Test类 替换成 OuterClass 类。
4 年多之前 回复

类.方法,意味着这个方法肯定是静态的。
对象.方法,这个方法是实例方法。
静态类是指,这个类只包含静态成员。

1.静态方法就是加了static关键字的方法,这个方法可以直接用类名来调用,普通的成员方法就不行了,这就是你说的 类.静态方法!
2.对象.方法:就是普通的方法被对象调用。对象即可以调用一般方法,也可以调用静态方法。
3.静态类仅包含静态成员。它们不能被实例化。它们是密封的。它们不能包含实例构造函数。所以你上面问的 静态类.静态方法 静态类.方法相当于同一个。

不知道我说清楚没有

可以这样理解
类:对某一类事物的描述,是抽象的,不占用内存空间。获得一个对象需两步:声明变量,实例化。
对象:一个事物,就像一个产品的设计图纸,不可直接使用,占用存储空间。比实例的更广泛。(万物皆对象)
实例:更具图纸设计出来的产品,可直接使用。
范围:类>对象>=实例,当对象=实例时,对象也可以直接使用。
方法是对象的行为,即函数;变量是对象的状态,即属性。
抽象类是对概念的描述。不能直接被实例化,只有继承它的子类才可以实例化成对象。
接口是对动作的描述。可以多继承。
抽象类与类的区别:前者不能直接被实例化,后者可以直接实例化。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐