1. 程式人生 > >java靜態關鍵字static

java靜態關鍵字static

static (靜態)關鍵字
1,static關鍵字:
    1.1用於修飾成員(成員變數和成員函式)
2,被修飾後的成員具備以下特點:
    2.1隨著類的載入而載入
    2.2優先於物件存在
    2.3被所有物件所共享
    2.4可以直接被類名呼叫
3,使用注意
    3.1靜態方法只能訪問靜態成員
    3.2靜態方法中不可以寫this,super關鍵字
    3.3主函式是靜態的
     
/*
靜態:static
用法:是一個修飾符,用於修飾成員(成員變數,成員函式)
當成員被靜態修飾後,就多了一個呼叫方式,除了可以被物件呼叫外
還可以直接被類名呼叫。類名,靜態成員
 
static靜態的特點:
1,隨著類的載入而載入
    也就是說:靜態會隨著類的消失而消失,說明它的生命週期最長
2,優先於物件存在
    明確一點:靜態是先存在。物件是後存在的
3,被所有物件所共享
4,可以直接被類名所呼叫
 
例項變數和類變數的區別:
1,存放位置
    類變數隨著類的載入而存在於方法區中
    例項變數隨著物件的建立而存在於堆記憶體中
2,生命週期:
    類變數生命週期最長,隨著類的消失而消失
    例項變數生命週期隨著物件的消失而消失
     
靜態使用注意事項:
1,靜態方法只能訪問靜態成員
    非靜態方法既可以訪問靜態也可以訪問非靜態
2,靜態方法中不可以定義this,super關鍵字
    因為靜態優先於物件存在,所以靜態方法中不可以出現this
3,主函式是靜態的
 
靜態有利有弊:
利:對物件的共享資料進行單獨空間的儲存,節省空間。沒有必要每一個物件中都儲存一份。
可以直接被類名呼叫
 
弊端:生命週期過長。
      訪問出現侷限性。(靜態雖好,只能訪問靜態)
 
*/
class Person
{
    String name;//成員變數,例項變數
    static String country = "CN";//靜態的成員變數,類變數
    public void show()
    {
        System.out.println(name+"::::"+country);
    }
}  
 
class StaticDemo
{
    public static void main(String[] args)
    {
        Person p = new Person();
        p.name = "zhangsan";
        p.show();
         
        System.out.println(p.country);
         
        System.out.println(Person.country);
    }
}
  

相關推薦

java靜態關鍵字static

static (靜態)關鍵字 1,static關鍵字: 1.1用於修飾成員(成員變數和成員函式) 2,被修飾後的成員具備以下特點: 2.1隨著類的載入而載入 2.2優先於物件存在 2.3被所有物件所共享 2.4可以直接被類名呼叫 3,

靜態關鍵字static

str div 問控制 操作符 聲明 一個 數組 實例 訪問 本頁說明了用 static 關鍵字來定義靜態方法和屬性。static 也可用於定義靜態變量以及後期靜態綁定。參見上述頁面了解 static 在其中的用法。 聲明類屬性或方法為靜態,就可以不實例化類而直接訪問。

java 靜態static)方法與非靜態方法

1、靜態方法中可以引用靜態方法和靜態變數,不可以引用非靜態方法與變數。  這很好理解:因為靜態方法不需要例項化類,可以直接用(類名.方法名)的方式呼叫。 假設靜態方法可以操作非靜態方法與變數,那麼對於(類名.方法名)的這種方法呼叫方式, 那麼其中的非靜態變數就沒有被例

靜態關鍵字static靜態程式碼塊、區域性程式碼快、構造程式碼塊

一、靜態什麼時候使用? 1、靜態變數 分析物件中所具備的成員變數的值都相同時,而且這個成員不需要修飾,這時成員變數就可以被靜態修飾 2、靜態函式 該函式是否需要訪問物件中的特有資料 二、static關鍵字的特點:用於修飾成員(屬性和方法) 1、可以用類名直接呼

Java中的組織形式、類與物件、靜態static關鍵字、最終的final關鍵字、方法傳參方式、遞迴(階乘、斐波那契數列、漢諾塔)

Java程式的組織形式 Java程式需要把程式碼以類的形式組織起來,然後被Java編譯器編譯,再被JVM執行。Java程式是以類的結構為基礎的。 Java程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途

Java:關於Static靜態關鍵字的那些小事

前言 在Java中,靜態 Static關鍵字使用十分常見 本文全面 & 詳細解析靜態 Static關鍵字,希望你們會喜歡 目錄 1. 定義 一種 表示靜態屬性的 關鍵字 / 修飾符

JAVA關鍵字Static作用 特點 利弊及建立時機 成員變數和靜態變數 Static修飾成員 修飾方法 修飾塊(靜態快)

(1)Static關鍵字修飾符 可以修飾成員(成員屬性 成員方法)(2)Static修飾成員的特點a 生命週期長 跟類相同b 用Static修飾的變數 所有物件共享c Static修飾變數 可以通過物件(.)點的形式呼叫 還可以通過類名(.)點方法呼叫(3)Static建立時

java中的static關鍵字再學習,靜態成員記憶體理解,靜態常量應用,靜態修飾成員在多型呼叫中的問題

一、static的啟用原因 1、假設一個Student類,包含三個屬性,姓名,年齡,學校。姓名,年齡不同,但是學校都相同,當例項化這個類時都會對這三個屬性賦初值。由於學校都相同,new的次數越多,就會形成了巨大的浪費。 為了杜絕這種浪費,設定了一個共享資料方法,即static關鍵字

深入java static關鍵字 淺析java類載入機制(解答java靜態方法或變數無法訪問非靜態資料)

想要清晰理解java語法,不瞭解java和jvm的機制是不行的,以前不理解java中用static修飾方法和變數為什麼不可以訪問非靜態方法和資料,現在明瞭,如果你也有相同的困惑,這篇部落格足以解惑,原創不易,轉載請宣告出處。 本文分為3大部分 static

Java中的static關鍵字解析

而且 類繼承 產生 編程思想 類名 作用域 com c/c++ 毫無   static關鍵字是很多朋友在編寫代碼和閱讀代碼時碰到的比較難以理解的一個關鍵字,也是各大公司的面試官喜歡在面試時問到的知識點之一。下面就先講述一下static關鍵字的用法和平常容易誤解的地方,最後列

深入理解java關鍵字--static

ack col 之間 jvm -s nbsp 代碼 實例變量 family static 關鍵字是java中經常用到的一個關鍵字,在面試中也會經常遇到的一個問題,下面詳細描述這個關鍵字的相關知識點。

java基礎之關鍵字static

splay tar his msu 理解 per weight min 對象 在java當中有很多關鍵字,static便是其中一個,它很普通但我們經常需要運用到它,所以要了解static是非常有必要的。 鑒於本人知識結構有限,若有錯誤忘不吝賜教,甚為感謝。

static(靜態)關鍵字

調用 變量 stat 方法 對象 類名 super關鍵字 靜態成員 類的加載 static 關鍵字: 1、用於修飾成員(成員變量和成員函數) 被修飾的成員具備以下特點: 1)隨著類的加載而加載; 2)優先於對象而存在; 3)被所有對象所共享; 4)可以直接被類名調用。

淺析Java中的static關鍵字

log 傳媒 如果 思想 java編程 應用程序 3.4 spa print 關鍵點 《Java編程思想》對static方法的描述:“static方法就是沒有this的方法。在static方法內部不能調用非靜態方法,反過來是可以的。而且可以在沒有創建對象的前提下,僅僅通過類

第2章 static靜態關鍵字

Java1.1 靜態的概述當在定義類的時候,類中都會有相應的屬性和方法。而屬性和方法都是通過創建本類對象調用的。當在調用對象的某個方法時,這個方法沒有訪問到對象的特有數據時,方法創建這個對象有些多余。可是不創建對象,方法又調用不了,這時就會想,那麽我們能不能不創建對象,就可以調用方法呢?可以的,我們可以通過s

Java面向對象之關鍵字static 入門實例

ID spa 初始 AR name mage 周期 需要 person 一、基礎概念   靜態關鍵字 static 是成員修飾符,直接用於修飾成員。   (一)特點:     1.被靜態修飾的成果,可以直接被類名所調用。     2.靜態成員優先於對象存在。     3

Java基礎之static關鍵字的用法

直接 方法 普通 類變量 靜態塊 引用 同時 序列化 用法 Java中的static關鍵字主要用於內存管理。我們可以應用static關鍵字在變量、方法、塊和嵌套類中。 static關鍵字屬於類,而不是類的實例。 靜態(static)可以是:

java關鍵字 this、super、final、static

使用 實參 原來 創建過程 列表 clas 必須 attribute ceshi 1、this關鍵字(1)成員變量和局部變量同名 可以在成員變量名前面加上this.來區別成員變量和局部變量 package com.oracle.demo03; public class

06.Java面向物件——static關鍵字

一、關於new 在定義一個類時,只是在描述某類事物的特徵和行為,並沒有產生具體的資料。只有通過new關鍵字建立該類的例項物件後,系統才會為每個物件分配空間,儲存各自的資料。 二、靜態變數 static只能修飾成員變數,不能修飾區域性變數 class Student { static

Java——this和static關鍵字

this關鍵字 編譯器優化:就近原則,取最近的同變數名 1 this表示呼叫本類屬性 只要在類中訪問類的屬性,一定要加上this關鍵字 2 this表示呼叫本類方法 a.呼叫普通方法: this.方法名(引數) 當有類的繼承關係時,呼叫本類方法時一定要加this關鍵字 b.呼叫構