成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java基礎(chǔ)學(xué)習(xí)(試碼) 變量類型理解

BLUE / 1010人閱讀

摘要:靜態(tài)變量在第一次被訪問(wèn)時(shí)創(chuàng)建,在程序結(jié)束時(shí)銷毀。但為了對(duì)類的使用者可見(jiàn),大多數(shù)靜態(tài)變量聲明為類型。類變量被聲明為類型時(shí),類變量名稱一般建議使用大寫(xiě)字母。如果靜態(tài)變量不是和類型,其命名方式與實(shí)例變量以及局部變量的命名方式一致。

大齡后學(xué)中年,熱愛(ài)技術(shù)行業(yè),自學(xué)思路分享理解,歡迎各位指正~
1.變量類型
* (成員變量)類變量:獨(dú)立于方法之外的變量,用 static 修飾。
* (成員變量)實(shí)例變量:獨(dú)立于方法之外的變量,不過(guò)沒(méi)有 static 修飾。
* 局部變量:類的方法中的變量。
public class Variable{ 
  static int allClicks=0; // 類變量 String 
  static String str="hello world"; // 實(shí)例變量 
  public void method(){ 
    int i =0; // 局部變量 
  } 
}
局部變量特點(diǎn):

局部變量聲明在方法、構(gòu)造方法或者語(yǔ)句塊中;

局部變量在方法、構(gòu)造方法、或者語(yǔ)句塊被執(zhí)行的時(shí)候創(chuàng)建,當(dāng)它們執(zhí)行完成后,變量將會(huì)被銷毀;

訪問(wèn)修飾符不能用于局部變量;

局部變量只在聲明它的方法、構(gòu)造方法或者語(yǔ)句塊中可見(jiàn);

局部變量是在棧上分配的。

局部變量沒(méi)有默認(rèn)值,所以局部變量被聲明后,必須經(jīng)過(guò)初始化,才可以使用。

/*
 * BasicOne age 沒(méi)有初始化,所以在編譯是會(huì)出現(xiàn)報(bào)錯(cuò)*/
public class BasicOne {

      public BasicOne() {
          // TODO Auto-generated constructor stub
          
      }
      public void pupAge(){
          int age;
          //age 沒(méi)有初始化
    age = age + 7;
          System.out.println("小狗的年齡是"+ age);
          
      }
      public static void main(String[] args) {
          BasicOne test = new BasicOne();
          test.pupAge();
      }

}
實(shí)例變量特點(diǎn):

實(shí)例變量聲明在一個(gè)類中,但在方法、構(gòu)造方法和語(yǔ)句塊之外;

當(dāng)一個(gè)對(duì)象被實(shí)例化之后,每個(gè)實(shí)例變量的值就跟著確定;

實(shí)例變量在對(duì)象創(chuàng)建的時(shí)候創(chuàng)建,在對(duì)象被銷毀的時(shí)候銷毀;

實(shí)例變量的值應(yīng)該至少被一個(gè)方法、構(gòu)造方法或者語(yǔ)句塊引用,使得外部能夠通過(guò)這些方式獲取實(shí)例變量信息;

實(shí)例變量可以聲明在使用前或者使用后;

訪問(wèn)修飾符可以修飾實(shí)例變量;

實(shí)例變量對(duì)于類中的方法、構(gòu)造方法或者語(yǔ)句塊是可見(jiàn)的。一般情況下應(yīng)該把實(shí)例變量設(shè)為私有。通過(guò)使用訪問(wèn)修飾符可以使實(shí)例變量對(duì)子類可見(jiàn);

實(shí)例變量具有默認(rèn)值。數(shù)值型變量的默認(rèn)值是0,布爾型變量的默認(rèn)值是false,引用類型變量的默認(rèn)值是null。變量的值可以在聲明時(shí)指定,也可以在構(gòu)造方法中指定;

實(shí)例變量可以直接通過(guò)變量名訪問(wèn)。但在靜態(tài)方法以及其他類中,就應(yīng)該使用完全限定名:ObejectReference.VariableName。

import java.io.*; 
public class Employee{ 
  // 這個(gè)實(shí)例變量對(duì)子類可見(jiàn) 
  public String name; 
  // 私有變量,僅在該類可見(jiàn) 
  private double salary; 
  //在構(gòu)造器中對(duì)name賦值 
  public Employee (String empName){ name = empName; } 
  //設(shè)定salary的值 
  public void setSalary(double empSal){
    salary = empSal;
   } 
  // 打印信息
  public void printEmp(){ 
    System.out.println("名字 : " + name ); 
    System.out.println("薪水 : " + salary);
   } 
   public static void main(String[] args){ 
     Employee empOne = new Employee("RUNOOB"); 
     empOne.setSalary(1000); 
     empOne.printEmp(); 
   }
}
類變量(靜態(tài)變量static)

類變量也稱為靜態(tài)變量,在類中以static關(guān)鍵字聲明,但必須在方法構(gòu)造方法和語(yǔ)句塊之外。

無(wú)論一個(gè)類創(chuàng)建了多少個(gè)對(duì)象,類只擁有類變量的一份拷貝。

靜態(tài)變量除了被聲明為常量外很少使用。常量是指聲明為public/private,final和static類型的變量。常量初始化后不可改變。

靜態(tài)變量?jī)?chǔ)存在靜態(tài)存儲(chǔ)區(qū)。經(jīng)常被聲明為常量,很少多帶帶使用static聲明變量。

靜態(tài)變量在第一次被訪問(wèn)時(shí)創(chuàng)建,在程序結(jié)束時(shí)銷毀。

與實(shí)例變量具有相似的可見(jiàn)性。但為了對(duì)類的使用者可見(jiàn),大多數(shù)靜態(tài)變量聲明為public類型。

默認(rèn)值和實(shí)例變量相似。數(shù)值型變量默認(rèn)值是0,布爾型默認(rèn)值是false,引用類型默認(rèn)值是null。變量的值可以在聲明的時(shí)候指定,也可以在構(gòu)造方法中指定。此外,靜態(tài)變量還可以在靜態(tài)語(yǔ)句塊中初始化。

靜態(tài)變量可以通過(guò):ClassName.VariableName的方式訪問(wèn)。

類變量被聲明為public static final類型時(shí),類變量名稱一般建議使用大寫(xiě)字母。如果靜態(tài)變量不是public和final類型,其命名方式與實(shí)例變量以及局部變量的命名方式一致。

import java.io.*; 
public class Employee { 
  //salary是靜態(tài)的私有變量 
  private static double salary; 
  // DEPARTMENT是一個(gè)常量 
  public static final String DEPARTMENT = "開(kāi)發(fā)人員"; 
  public static void main(String[] args){ 
    salary = 10000; 
    System.out.println(DEPARTMENT+"平均工資:"+salary); 
  } 
}
2.修飾符 和 static

訪問(wèn)控制

修飾符 當(dāng)前類 同一包內(nèi) 子孫類(同一包) 子孫類(不同包) 其他包
public Y Y Y Y Y
protected Y Y Y Y/N(說(shuō)明) N
default Y Y Y N N
private Y N N N N
3.遇到問(wèn)題 1.(報(bào)錯(cuò))Return type for the method is missing


static void main(String[] args)這里的主函數(shù)就不需要return任何變量,所以使用void修飾。

public class BasicOne {
      public String name;//實(shí)例變量
   public double salary;// 私有變量,僅在該類可見(jiàn)
   //在構(gòu)造器中對(duì)name賦值報(bào)錯(cuò)沒(méi)有return
   public Employee (String empName){
    name = empName ;
   }
}

解決1

public void Employee (String empName){
    name = empName ;
   }

解決 2

public class BasicOne {
   public String name;//實(shí)例變量
   public double salary;// 私有變量,僅在該類可見(jiàn)
   //在構(gòu)造器中對(duì)name賦值報(bào)錯(cuò)沒(méi)有return
   public BasicOne (String empName){
          name = empName ;
      }

}
4.總例子
package basicForMando;

import sun.awt.EmbeddedFrame;

//import object.Static;

/*
 * 1.基礎(chǔ)知識(shí)
 * (1)修飾符 常用的 public
 * public static void main(String[] args) {}
 * public 可替換修飾符
 * 訪問(wèn)控制修飾符 : default, public , protected, private
 * 非訪問(wèn)控制修飾符 : final, abstract, strictfp
 
 * */
/* 局部變量
 * BasicOne age 沒(méi)有初始化,所以在編譯是會(huì)出現(xiàn)報(bào)錯(cuò)*/
public class BasicOne {
      // 1. 實(shí)例變量
      public String name;
      // 1. 私有變量,僅在該類可見(jiàn)
      private double salary;
      // 3.靜態(tài)變量 salary是靜態(tài)的私有變量
      private static double salary1;
      // 3.靜態(tài)變量(常量) DEPARTMENT是一個(gè)常量
      public static final String DEPARTMENT = "開(kāi)發(fā)人員";
      // bug 在構(gòu)造器中對(duì)name賦值 沒(méi)有return
  
      public BasicOne(String empName) {
          name = empName;
          return;
      }
  
      // 設(shè)定salary的值
      public void setSalary(double empSal) {
          salary = empSal;
      }
  
      // 可以有兩個(gè) 因?yàn)橹剌d數(shù)據(jù)類型不同
      public BasicOne() {
          // TODO Auto-generated constructor stub
      }
  
      public void printEmp() {
          System.out.println("名字 : " + name);
          System.out.println("薪水 : " + salary);
      }
  
      // 2.局部變量對(duì)象
      public void pupAge() {
          int age = 0;// bug 局部變量初始化
          age = age + 7;
          System.out.println("小狗的年齡是" + age + "歲");
  
      }
  
      public static void main(String[] args) {
  
          BasicOne test = new BasicOne();
          test.pupAge();
  
          BasicOne empOne = new BasicOne("RUNOOB");
          empOne.setSalary(1000);
          empOne.printEmp();
  
          salary1 = 10000;
          System.out.println(DEPARTMENT + "平均工資:" + salary1);
      }

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74498.html

相關(guān)文章

  • 從零開(kāi)始學(xué) Java基礎(chǔ)語(yǔ)法(中)

    摘要:下面開(kāi)始今天的知識(shí),先看下基礎(chǔ)語(yǔ)法的總綱今天我們接著學(xué)習(xí)變量使用變量的注意事項(xiàng)數(shù)據(jù)類型和類型轉(zhuǎn)換。推薦閱讀從零開(kāi)始學(xué)之基礎(chǔ)語(yǔ)法上從零開(kāi)始學(xué)之基礎(chǔ)概述本文原創(chuàng)發(fā)布于微信公眾號(hào),編程思維成長(zhǎng)正能量,關(guān)注并回復(fù)編程閱讀等關(guān)鍵字獲取免費(fèi)學(xué)習(xí)資料 showImg(https://segmentfault.com/img/remote/1460000016134163); Java?基礎(chǔ)斷更一周了...

    chinafgj 評(píng)論0 收藏0
  • 一切都是對(duì)象

    摘要:一切都是對(duì)象之前自己學(xué)習(xí)就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來(lái),然后做一個(gè)全面的學(xué)習(xí)。按照面向?qū)ο蟮乃枷?,一切都是?duì)象,不管什么數(shù)據(jù)都應(yīng)該是對(duì)象,但是對(duì)于一些基礎(chǔ)的數(shù)據(jù)類型為了運(yùn)行效率和內(nèi)存的優(yōu)化,將個(gè)基本類型進(jìn)行了特殊處理。 一切都是對(duì)象 之前自己學(xué)習(xí)Java就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來(lái),然后做一個(gè)全面的學(xué)習(xí)。這樣的的確確可以將知識(shí)點(diǎn)都學(xué)習(xí)全面,...

    ruicbAndroid 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,第一天,變量和數(shù)據(jù)類型,賦值和輸出

    摘要:現(xiàn)在我們開(kāi)始說(shuō)編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說(shuō)起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。 用9天入門(mén)三門(mén)編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門(mén)語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一...

    cangck_X 評(píng)論0 收藏0
  • java 基礎(chǔ) - 收藏集 - 掘金

    摘要:基礎(chǔ)知識(shí)復(fù)習(xí)后端掘金的作用表示靜態(tài)修飾符,使用修飾的變量,在中分配內(nèi)存后一直存在,直到程序退出才釋放空間。將對(duì)象編碼為字節(jié)流稱之為序列化,反之將字節(jié)流重建成對(duì)象稱之為反序列化。 Java 學(xué)習(xí)過(guò)程|完整思維導(dǎo)圖 - 后端 - 掘金JVM 1. 內(nèi)存模型( 內(nèi)存分為幾部分? 堆溢出、棧溢出原因及實(shí)例?線上如何排查?) 2. 類加載機(jī)制 3. 垃圾回收 Java基礎(chǔ) 什么是接口?什么是抽象...

    makeFoxPlay 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<