程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java(基礎)的類與變量

Java(基礎)的類與變量

編輯:關於JAVA

Java(基礎)的類與變量。本站提示廣大學習愛好者:(Java(基礎)的類與變量)文章只能為提供參考,不一定能成為您想要的結果。以下是Java(基礎)的類與變量正文


  Java的類與成員變量

  在我們學習編程語言中,需要靈活自用,那麼怎麼來靈活的將所有的函數屬性來調用來實現完整的工程呢?

  所以我們需要認識到類和變量的定義

  1、類是什麼?

    類是抽象的概念,而對象就是類的具體存在體現。列如:我們的類就像生活中的小汽車,那麼我們就可以將小汽車看作為一個類,我們稱之為小汽車類,每一台小汽車都有輪胎數、顏色等(可以定義為屬性,即成員變量),每一台車都可以跑(即車的行為,對應類總的成員函數),我們把小汽車實例一下,即產生一個對象,比如寶馬(BMW)。

  列:public class littlecar     #定義的小汽車類

  2、成員變量

    先看一個事物:

        屬性:外觀特征;列如人的身高、體重、(顏值。。。。。 :)

        行為:能夠做什麼;列如:能跑、能跳、(能飛。。。。。我會飛! :)

    而在Java語言中,最基本單位的就是類,而類就是用來體現事物的。

    而class就是來描述事物:

        屬性:對應類的成員變量

        行為:對應成員的函數

    定義類其實就是在定義類的成員(成員變量和成員函數)

  來看一下一個實例:

  列1:

   public class LittleCar {

          private String color; // 定義汽車顏色,全局變量
          private int numLuntai; // 定義汽車輪胎數,全局變量
 
          public LittleCar(String color, int numLuntai){
                    super();
                    this.color = color;
                    this.numLuntai = numLuntai;
          }
          public void run() {
                    System.out.println(this.numLuntai+ "個輪子的" +this.color + "轎車在馬路上行駛著");
          }
  }

 

  public class ClassT {
          public static void main(String[] args){
                    LittleCar BMW= new LittleCar("黑色", 4);      // 創建一個轎車對象,名字為BMW
                    BMW.run();
        }
}

  運行結果:

  4個輪子的黑色轎車在馬路上行駛著

  其中color和numLuntai就稱為Car 類的成員變量,這個屬性能夠用來描述一個類的屬性,否則,它就應該定義為局部變量。

  3、局部變量

  例如一個for循環中的i即是局部變量。

                  for(int i = 0; i < args.length; i++) {
                          ......
                  }

  列2:

  publicclass LittleCar {

        private String color; // 定義汽車顏色,全局變量
        private int numLuntai; // 定義汽車輪胎數,全局變量
        public LittleCar(String color, int numLuntai){
                  super();
                  this.color = color;
                  this.numLuntai = numLuntai;
        }
  public void run() {
                  String carName=”奔馳牌”;    //這個就是局部變量
                  System.out.println(this.numLuntai+ "個輪子的" +this.color + carName+"轎車在馬路上行駛 著");
        }
}
  publicclass ClassTest {
          public static void main(String[] args){
                    LittleCar BMW= new Car("黑色", 4);      // 創建一個轎車對象,名字為BMW
                    BMW.run();
          }
  }

 

  結果:

  4個輪子的黑色奔馳牌轎車在馬路上行駛著

  4、成員變量和局部變量的區別

  

   成員變量:

 

          ①成員變量定義在類中,在整個類中都可以被訪問。

 

          ②成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。

 

          ③成員變量有默認初始化值。

 

      局部變量:

 

          ①局部變量只定義在局部范圍內,如:函數內,語句內等,只在所屬的區域有效。

 

          ②局部變量存在於棧內存中,作用的范圍結束,變量空間會自動釋放。

 

          ③局部變量沒有默認初始化值 

 

      在使用變量時需要遵循的原則為:就近原則

  首先在局部范圍找,有就使用;接著在成員位置找。

   5、靜態變量

  由static修飾的變量稱為靜態變量,其實質上就是一個全局變量。如果某個內容是被所有對象所共享,那麼該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬於對象的特殊描述。

  列3:

  class Person{
      //成員變量,實例變量
      String name;
      //靜態變量,類變量
      //所有對象共享的屬性用static修飾
      static String country = "CN";
      public void show(){
            System. out.println(country + ":" + name);
            //等效語句:System.out.println(Person.country+ ":" + this.name);
      }
}

  class StaticDemo{
        public static void main(String[]args){
              Personp = new Person();
              System. out.println(p.country);
              //可以用類名直接調用
              System. out.println(Person.country);
        }
  }

結果:

CN

CN 

6、成員變量和靜態變量的區別

 

      1、兩個變量的生命周期不同

            成員變量隨著對象的創建而存在,隨著對象被回收而釋放。

            靜態變量隨著類的加載而存在,隨著類的消失而消失。

      2、調用方式不同

            成員變量只能被對象調用。

            靜態變量可以被對象調用,還可以被類名調用。

      3、別名不同

            成員變量也稱為實例變量。

            靜態變量也稱為類變量。

      4、數據存儲位置不同

            成員變量存儲在堆內存的對象中,所以也叫對象的特有數據。

            靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。

 

7、成員變量、局部變量、靜態變量列表對比:

       成員變量、局部變量、靜態變量的區別 

 

成員變量

局部變量

靜態變量

定義位置

 在類中,方法外

方法中,或者方法的形式參數

在類中,方法外

初始化值

有默認初始化值

無,先定義,賦值後才能使用

有默認初始化值

調用方式

對象調用

---

對象調用,類名調用

存儲位置

堆中

棧中

方法區

生命周期

與對象共存亡

與方法共存亡

與類共存亡

別名

實例變量

---

類變量

結束語:(我也是再前輩那裡借鑒的!所以有些說的不是很好,請大家多多包涵!謝謝你們的預覽。還有:)這個符號很好玩的哈()上邊那裡是開玩笑的啦!加油吧程序猿!!!!)

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved