1. 程式人生 > >面向物件--static靜態關鍵字

面向物件--static靜態關鍵字

static :

用法:是一個修飾符,用於修飾成員(成員變數,成員函式)。

當成員被靜態static修飾後,就多了一個呼叫方式,除了可以被物件呼叫外,還可以直接被類名呼叫。方式為:類名.靜態成員

下面是被物件呼叫:

public class Demo21 {

	public static void main(String[] args){
		Person3 p=new Person3();
		System.out.println(p.country);
	}
}

class Person3{
	String name;
	static String country="China";
}

輸出為:China

下面為類名呼叫:

public class Demo21 {

	public static void main(String[] args){
		//Person3 p=new Person3();
		//System.out.println(p.country);
		System.out.println(Person3.country);
	}
}

class Person3{
	String name;
	static String country="China";
}

輸出為:China

static的特點:

1、隨著類的載入而載入;(也就是說:靜態會隨著類的消失而消失,說明它的生命週期最長。)

2、優先於物件存在;(靜態時先存在的,物件是後存在的)

3、被所有物件所共享;

4、可以直接被類名所呼叫;

例項變數和類變數的區別:(類變數類似於static,例項變數非 static,一般的成員變數)

1、存放位置

類變數隨著類的載入而存在於方法區中。

例項變數隨著物件的建立而存在於堆記憶體中。

2、生命週期

類變數生命週期最長,隨著類的消失而消失。

例項變數生命週期隨著物件的消失而消失

靜態(static)的使用注意事項:

1、靜態方法只能訪問靜態成員。(非靜態方法即可以訪問靜態成員由可以訪問非靜態)

2、靜態方法中可以定義this,super關鍵字。(因為靜態優先於物件存在,所以靜態方法中不可以出現this,this指代的是物件)

3、主函式是靜態的。

靜態的優缺點:

優點:

對物件的共享資料進行單獨空間的儲存,節省空間,沒有必要每一個物件中都儲存一份。

可以直接被類名物件。

缺點:

生命週期過長,訪問出現侷限性。(靜態雖好,只能訪問靜態。)

相關推薦

面向物件--static靜態關鍵字

static : 用法:是一個修飾符,用於修飾成員(成員變數,成員函式)。 當成員被靜態static修飾後,就多了一個呼叫方式,除了可以被物件呼叫外,還可以直接被類名呼叫。方式為:類名.靜態成員。

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

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

Java基礎語法 - 面向物件 - static 關鍵字

使用static關鍵字修飾的變數、常量和方法分別被稱作靜態變數、靜態常量和靜態方法,也被稱作類的靜態成員 靜態變數 使用static修飾過的類變數稱為靜態變數 該變數需要使用類名.變數名進行呼叫,不能使用物件名/this進行呼叫 在類方法中不能定義與靜態變數同名的區域性變數  

static(靜態)關鍵字

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

第2章 static靜態關鍵字

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

javascript面向物件程式設計--靜態方法

在面向物件程式設計中,類是不能夠直接訪問的,必須例項化後才可以訪問,大多數方法和屬性與類的例項產生聯絡。但是靜態屬性和方法與類本身直接聯絡,可以從類訪問,如javascript的核心物件中的Math和Global都是靜態物件,不需例項化,可以直接訪問 類的靜態成員(屬性和方法)包括私有和共有兩種

python3__面向物件__靜態方法 / 類方法 / 屬性方法 / 例項動態繫結屬性和方法 / 類動態繫結屬性和方法

0.普通方法 普通方法訪問類屬性:self.__class__.類屬性名稱 class Test(object): n = 123 def __init__(self, n): self.n = n def tell(self):

php 面向物件:this 關鍵字

PHP5中為解決變數的命名衝突和不確定性問題,引入關鍵字“$this”代表其所在當前物件。 $this在建構函式中指該建構函式所建立的新物件。 在類中使用當前物件的屬性和方法,必須使用$this->取值。 方法內的區域性變數,不屬於物件,不使用$this關鍵字取值。 區域性變數和全域性變數與 $

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

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

黑馬程式設計師-----static靜態關鍵字

靜態關鍵字用於修飾成員。 被修飾的成員具備以下特點: 1.隨著類的載入而載入。 2.優先於物件。 3.被所以物件所共享。 4.可以直接被類名呼叫。 使用注意點: 1.靜態方法只能訪問靜態成員。非靜態方法即可以訪問靜態頁可以訪問非靜態。 2.靜態方法中不可以寫this,su

php static 靜態關鍵字

宣告類屬性或方法為靜態,就可以不例項化類而直接訪問。靜態屬性不能通過一個類已例項化的物件來訪問(但靜態方法可以)。 為了相容 PHP 4,如果沒有指定訪問控制,屬性和方法預設為公有。 由於靜態方法不需要通過物件即可呼叫,所以偽變數 $this 在靜態方法中不可用。 靜態屬性不可以由物件通過 -> 操作

第二十六、Java面向物件之instanceof 關鍵字

instanceof是什麼?        1:屬於比較運算子:        2:instanceof關鍵字:該關鍵字用來判斷一個物件是否是指定類的物件。        3:使用格式:                物件  instanceof 類;          

java第七天---面向物件、構造方法、static關鍵字靜態變數與成員變數的區別

1 構造方法        1 構造方法的作用 建立物件,給物件中的成員進行初始化        2  構造方法的格式特點  a:方法名與類名相同  b:沒有返回值型別,連v

-1-2 java 面向物件基本概念 封裝繼承多型 變數 this super static 靜態變數 匿名物件 值傳遞 初始化過程 程式碼塊 final關鍵字 抽象類 介面 區別 多型 包 訪問許可權 內部類 匿名內部類 == 與 equal

java是純粹的面向物件的語言 也就是萬事萬物皆是物件 程式是物件的集合,他們通過傳送訊息來相互通訊 每個物件都有自己的由其他的物件所構建的儲存,也就是物件可以包含物件 每個物件都有它的型別  也就是類 某一特定型別的所有物件都可以接收相同的訊息,因為同一類事物有共同的特性 面向物件開發 •

Java 007 面向物件(構造方法、static關鍵字、JDK幫助文件、Math類)

知識點梳理 心得體會 小知識點 1.不同型別的靜態變數 1>靜態變數是基本資料型別時,類的外部不用建立該類例項可以能直接使用 2>靜態變數是引用時,即靜態變數是一個物件的引用,必須先初始化這個物件,才能將引用指向靜態變數 2.靜態成員與例項成員 1&

面向物件中的final和static關鍵字特點總結

1 final的特點 1.1 final修飾類不可以被繼承,但是可以繼承其他類。 class Yy {} final class Fu extends Yy{} //可以繼承Yy類 class Zi extends Fu{} /

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

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

java初學 面向物件static關鍵字 封裝、繼承和多型

static關鍵字 1:如果沒有static會怎樣? 1:定義Person類 1:姓名、年齡、國籍,說話行為 2:多個構造,過載形式體現 2:中國人的國籍都是確定的 1:國籍可以進行顯示初始化 class Person {

PHP學習——25 PHP面向物件(類的靜態繫結與延遲繫結技術:self,parent,static詳解)

<?php class Employee { public static $name = '湯姆'; public static $age = 22; public static $salary = 4000; public static function show() // 靜

PHP學習——24 PHP面向物件(類中靜態成員的建立與訪問技巧:static)

<?php class Employee { // 訪問控制符:指示類成員在哪裡可以被訪問:public/protected/private // 成員狀態符:指示如何訪問該成員:靜態self/parent/static,非靜態:$this-> public static $