栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

static学习记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

static学习记录

static在java中表示静态,如果在类中搞了一个static int i;表示用类名就可以访问i,同时,用对象名也可以访问i

补充一个知识:在一个类中,对象可以当做属性来定义。举个例子:

class A
{
    public int i = 1;//A类就一个属性i
}
class B
{
    public int j = 2;//B类有两个属性,一个是i,一个是aa
    public A aa = new A();    //这个aa同时作为B的属性和A的对象
}
class C
{
    public static void main(String[] args)
    {
        B bb = new B();
        System.out.printf("%d",bb.aa.i);//bb.aa表示aa这个引用的对象,bb.aa.i表示最上面的i
    }
}

结果是:1

同时在java中,一个类内部可以定义一个他自己本身的对象,例子如下:

class A

{

 public int i = 1;

public A aa = new A();//比较难理解,用的也少,有他的特殊用途

}

根据一个类内部可以定义一个他自己本身的对象可以编一个程序,这个程序要求只能生成1个对象,不能生成多个对象,如一个国家只能有一个总统:

程序如下:

class A
{
    public int i = 1;
    private static A aa = new A();
    private A()
    {
    }
    public static A getA()
    {
        return aa;
    }
    
}

class B
{
    public static void main(String[] args)
    {
        A aa1 = A.getA();
        A aa2 = A.getA();
        aa2.i = 10;
        System.out.printf("%d",aa1.i);
        
    }
} 

结果是10,也就是说此时我构造的aa1与aa2是同一个东西,同一个A类的对象,有且仅有这一个对象。是完全相等的,那么这个程序为了只生成1个对象需要用到static。如果没有static,在访问get函数时候必然要新建一个对象,用到了new,这样就不满足要求了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号