5.Java-static

static 修饰符的特点:
  • static 修饰的成员,(字段/方法),随着所在类的加载而加载

当JVM把字节码加载进JVM的时候,static修饰的成员已经在内存中存在了。

  • 优先于对象存在

对象是我们手动通过new关键字创建出来的。

  • static 修饰的成员被该类型的所有对象所共享

根据该类创建出来的任何对象,都可以访问static成员(表面上是通过对象去访问static成员,其本质依然使用类名访问,和对象没有任何关系)

  • 直接使用类名访问static成员

因为static修饰的成员直接属于类,不属于对象,所以可以直接使用类名访问static成员

  • [ ] 个人补充:Java中的类与Object C中的类相同点和不同点
/*
相同点:
Java 和 Object-C都可以直接用类来调用方法
*/

//1.java 
class Hello
{
    //定义类方法
    static sayHello()
    {
        System.out.println("hello");
    }
}

class A
{
    //在A类中调用Hello的类方法
    Hello.sayHello();
}

//Object-C
@interface Person:NSObject

+(void)sayHello;//定义类方法

@end

//在其他类中调用
{
    [Person sayHello];
}

/*
不同点:
1.Java中的类可以有类变量,Object-C的类中没有类变量
2.Java定义类用static关键字,Object-C使用+号方法
*/
class A
{
    //定义
    static int age = 18;
}

class B
{
    //调用
    System.out.println(A.age);
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。