java面向对象static关键字到底有什么用?如何用?

java基础部分的statiic讲解~

通常我们写一个project 需要创建类对吧, 那么问题来了。

static!静态关键词

java面向对象static关键字到底有什么用?如何用?_第1张图片

不废话。直接总结,后面详细说明。  

//static修饰了属性  就变成静态成员 
    //一般来说必须通过实例去访问
    //如果用了static  那么可以直接通过类名去访问
    //这个形似       类名.成员   明白了吗
    //举个例子 public static void method(){}这样就可以 通过类名直接访问 但同时也可通过对象来访问呢
    //但是要注意 被 private修饰的属性(划重点) 那么就不可以被外部类去访问   publiic以后就可以访问
        //静态方法不能直接访问非静态成员(方法和属性)
        //那么非静态方法 可以 直接调用 静态成员

 

1.static修饰了属性  就变成静态成员  一般来说必须通过实例去访问 如果用了static  那么可以直接通过类名去访问

举个栗子  java面向对象static关键字到底有什么用?如何用?_第2张图片

这边我们写了个类car对吧

他的属性 name 和price 都没有 static 。所以我们在main 函数里new一个car叫car1, 那么我们可以直接给他赋值,没毛病。

but, 如果我们加上了static呢?

来我们测试一哈。

 java面向对象static关键字到底有什么用?如何用?_第3张图片

awesome~ 这时候我们可以直接通过  类名+“.”  的方式来访问name属性咯。

此时此刻,划重点,我直接new一个car1还能访问name吗,ok完全没什么问题。

***这边有个tip,如果这个属性被private修饰了,那么就不可能被类直接访问   看代码报错了

java面向对象static关键字到底有什么用?如何用?_第4张图片

***tip2

被static修饰的属性,具有唯一性  只执行一次。    

唯一性是个什么几把玩意呢?就是说被new出来对像赋值之后,这个属性有唯一性,不能被第二个new 出来对象再次中出hhhh

 

 

 

 

你可能感兴趣的:(java)