<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大漠駝鈴

    置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
    Java,Php,Shell,Python,服務(wù)器運(yùn)維,大數(shù)據(jù),SEO, 網(wǎng)站開發(fā)、運(yùn)維,云服務(wù)技術(shù)支持,IM服務(wù)供應(yīng)商, FreeSwitch搭建,技術(shù)支持等. 技術(shù)討論QQ群:428622099
    隨筆 - 238, 文章 - 3, 評(píng)論 - 117, 引用 - 0
    數(shù)據(jù)加載中……

    java中 static, final, super, this學(xué)習(xí)和總結(jié)

    一直依賴都比較模糊,今天早上看了幾個(gè)帖子總結(jié)一下,供自己和大家參考,如果有不對(duì)的地方還請(qǐng)大家指點(diǎn)。
    先說一下static

    static 可以是變量、方法、內(nèi)部類(類不能為static型)
    1、static變量
     類裝載時(shí)只分配一塊存儲(chǔ)空間,所有此類的對(duì)象都可以操控此類的存儲(chǔ)空間。
     static 變量?jī)?yōu)于任何非static變量初始化,而且只初始化一次, static代碼塊也只會(huì)初始化一次。
      靜態(tài)變量可以直接訪問
    2、static方法
    無需實(shí)例化類即可使用(類名、方法名),方法內(nèi)部不能用this,super關(guān)鍵字, 不能訪問所屬類的實(shí)例變量和實(shí)例方法,只能訪問所屬類的靜態(tài)變量和靜態(tài)方法。static方法獨(dú)立于任何實(shí)例, 并且不能為 abstract抽象方法。

    舉例:
    public class TestStatic {  
         private static String staticValue = "";  
        @SuppressWarnings("unused")  
        private String value;  
         
         public TestStatic() {  
             super();  
         }  

        @SuppressWarnings("static-access")  
         public static void main(String []args) {  
             //直接使用 類名.靜態(tài)方法名()  
             System.out.println("TestStatic.staticValue");  
             TestStatic.setStaticValue("static value");  
     
             
             TestStatic t1 = new TestStatic();  
             TestStatic t2 = new TestStatic();  
      
            //t1, t2存取到的值應(yīng)該是一樣的  
             System.out.println("from t1:staticValue=" + t1.getStaticValue()  
             System.out.println("from t2:staticValue=" + t2.getStaticValue());  
             //通過對(duì)象t1改變static變量  
            System.out.println("t1.staticValue");  
             t1.setStaticValue("t1");  
             //t1, t2存取到的值應(yīng)該是一樣的  
             System.out.println("from t1:staticValue=" + t1.getStaticValue());  
             System.out.println("from t2:staticValue=" + t2.getStaticValue());  
     
             //通過對(duì)象t2改變static變量  
             System.out.println("t2.staticValue");  
            t2.setStaticValue("t2");  
            //t1 受到影響  
             System.out.println("from t1:staticValue=" + t1.getStaticValue());  
         }  
          
         public static String getStaticValue() {  
            return staticValue;  
        }  
          
        public static void setStaticValue(String staticValue) {  
            //直接通過 類名.靜態(tài)變量 存取  
            TestStatic.staticValue = staticValue;  
        }  
          
         public String accessStaticValue () {  
             value = staticValue;    //普通的方法可以存取static 方法或 static變量  
              
            return staticValue;  
         }  



    final 可以變量、方法、類
    根據(jù)程序上下文環(huán)境,Java關(guān)鍵字final有“這是無法改變的”或者“終態(tài)的”含義,它可以修飾非抽象類、非抽象類成員方法和變量。你可能出于兩種理解而需要阻止改變:設(shè)計(jì)或效率。
    final類不能被繼承,沒有子類,final類中的方法默認(rèn)是final的。
    final方法不能被子類的方法覆蓋,但可以被繼承。
    final成員變量表示常量,只能被賦值一次,賦值后值不再改變。
    final不能用于修飾構(gòu)造方法。
    注意:父類的private成員方法是不能被子類方法覆蓋的,因此private類型的方法默認(rèn)是final類型的。


    1、final變量
    一旦初始化就不能改變,基本類型的值不可改變,對(duì)象變量的引用不可以改變。final變量初始化的位置 一般位于定義處或者構(gòu)造函數(shù)中。final方法中的final參數(shù),值也不會(huì)改變。
    2、final方法
    不能被覆蓋,主要作用就是把方法鎖定,防止任何可繼承該類的子類改變它的實(shí)現(xiàn)。
    3final 類

    final類不能被繼承,final類中變量可以為final也可以不為,但是final中的方法自然為final類型。

    final變量可以先定義,后賦值。
    final形參 可以讀取該參數(shù)值,不能改變?cè)搮?shù)值

    package org.leizhimin;

    public class Test3 {
    private final String S="final實(shí)例變量S";
    private final int A=100;
    public final int B=90;

    public static final int C=80;
    private static final int D=70;

    public final int E; //final空白,必須在初始化對(duì)象的時(shí)候賦初值

    public Test3(int x){
    E
    =x;
    }

    /**
    @param args
    */
    public static void main(String[] args) {
    Test3 t
    =new Test3(2);
    //t.A=101; //出錯(cuò),final變量的值一旦給定就無法改變
    //t.B=91; //出錯(cuò),final變量的值一旦給定就無法改變
    //t.C=81; //出錯(cuò),final變量的值一旦給定就無法改變
    //t.D=71; //出錯(cuò),final變量的值一旦給定就無法改變

    System.out.println(t.A);
    System.out.println(t.B);
    System.out.println(t.C); 
    //不推薦用對(duì)象方式訪問靜態(tài)字段
    System.out.println(t.D); //不推薦用對(duì)象方式訪問靜態(tài)字段
    System.out.println(Test3.C);
    System.out.println(Test3.D);
    //System.out.println(Test3.E); //出錯(cuò),因?yàn)镋為final空白,依據(jù)不同對(duì)象值有所不同.
    System.out.println(t.E);

    Test3 t1
    =new Test3(3);
    System.out.println(t1.E); 
    //final空白變量E依據(jù)對(duì)象的不同而不同
    }

    private void test(){
    System.out.println(
    new Test3(1).A);
    System.out.println(Test3.C);
    System.out.println(Test3.D);
    }

    public void test2(){
    final int a; //final空白,在需要的時(shí)候才賦值
    final int b=4//局部常量--final用于局部變量的情形
    final int c; //final空白,一直沒有給賦值.
    a=3;
    //a=4; 出錯(cuò),已經(jīng)給賦過值了.
    //b=2; 出錯(cuò),已經(jīng)給賦過值了.
    }
    }



    this和super

    this只當(dāng)前對(duì)象, 尤其是區(qū)分 形參和類的屬性時(shí)

    super只的是父類

    舉例:
    class Person{
    public static void prt(String s){
    System.out.println(s);
    }
    Person(){
    prt(
    "A Person.");
    }
    Person(String name){
    prt(
    "A person name is:"+name);
    }
    }
    public class Chinese extends Person{
    Chinese(){
    super(); //調(diào)用父類構(gòu)造函數(shù)(1)
    prt("A chinese.");//(4)
    }
    Chinese(String name){
    super(name);//調(diào)用父類具有相同形參的構(gòu)造函數(shù)(2)
    prt("his name is:"+name);
    }
    Chinese(String name,
    int age){
    this(name);//調(diào)用當(dāng)前具有相同形參的構(gòu)造函數(shù)(3)
    prt("his age is:"+age);
    }
    public static void main(String[] args){
    Chinese cn
    =new Chinese();
    cn
    =new Chinese("kevin");
    cn
    =new Chinese("kevin",22);
    }
    }

    final static 變量、成員方法
    變量一旦給復(fù)制就不能修改并且可以通過類名直接訪問
    方法不能覆蓋,可以通過類名直接訪問

    posted on 2009-02-10 11:59 草原上的駱駝 閱讀(564) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA基礎(chǔ)知識(shí)

    主站蜘蛛池模板: 亚洲欧洲日产专区| 成年免费大片黄在线观看岛国| 亚洲真人无码永久在线观看| 亚洲情XO亚洲色XO无码| 日韩毛片免费在线观看| AV大片在线无码永久免费| 免费黄网站在线观看| 窝窝影视午夜看片免费| 亚洲日本VA午夜在线影院| 亚洲视频中文字幕在线| 国产亚洲综合网曝门系列| 亚洲午夜激情视频| 国产精品无码一区二区三区免费| 成人在线免费看片| 一级毛片不卡片免费观看| 中国一级特黄的片子免费 | 日日摸日日碰夜夜爽亚洲| 亚洲一级黄色大片| 亚洲综合免费视频| 亚洲国产成人精品不卡青青草原| 久久精品国产精品亚洲人人| 国产免费av片在线播放| 日韩免费高清一级毛片在线| 日韩av无码成人无码免费| 国产成人精品免费视频动漫 | 亚洲欧洲一区二区三区| 免费看国产一级特黄aa大片| 永久黄网站色视频免费观看| 日韩吃奶摸下AA片免费观看| 日韩一区二区a片免费观看| 欧美最猛性xxxxx免费| 拨牐拨牐x8免费| 全免费A级毛片免费看网站| 女性无套免费网站在线看| 成人毛片免费在线观看| 在线免费视频一区二区| 国产资源免费观看| 亚洲高清视频一视频二视频三| 亚洲国产精品一区二区三区久久| 亚洲熟伦熟女新五十路熟妇| 国产亚洲精品a在线观看|