java 成員變量和局部變量的區別

將對象的存儲在數組中會報錯

public static void main(String[] args) {
        ArrayList<Goods> arrayList = new ArrayList<Goods>();
        init(arrayList);
        int size = arrayList.size();
        String[] array = (String[] )arrayList.toArray(new String[size]);
        System.out.println(Arrays.toString(array ));
    }
// 錯誤信息
    Exception in thread "main" java.lang.ArrayStoreException

04成員變量和局部變量的區別

  • 區別一:定義的位置不一樣
    • 定義在類中的變量是成員變量
    • 定義在方法中或者{}語句裏面的變量是局部變量
  • 區別二:在內存中的位置不一樣
    • 成員變量存儲在對內存的對象中
    • 局部變量存儲在棧內存的方法中
  • 區別三:聲明週期不一樣
    • 成員變量隨着對象的出現而出如今堆中,隨着對象的消失而從堆中消失
    • 局部變量隨着方法的運行而出如今棧中,隨着方法的彈棧而消失
  • 區別四:初始化不一樣
    • 成員變量由於在堆內存中,全部默認的初始化值
    • 局部變量沒有默認的初始化值,必須手動的給其賦值才能夠使用。

接口的定義

  • A: 接口的定義
    與定於類的class 不一樣, 接口定義時須要使用interface 關鍵字java

  • B :定義的格式
    js public interface 接口名 { 抽象方法1; 抽象方法2; }數組

類的構造方法

  • 累的構造方法code

    public class Person {
            private int age;
            private String name;
    
            // 私有無參數的構造方法, 及外界不能通過new Person() 語句創建本類對象
    
            private Person() { }
            Person(int newAge , String newName ) {
                age = newAge;
                name = newName;
            }
            public  void  speak() {
                System.out.println("name =" + name + ", age = " +  age );
            }
        }

final修飾類不能夠被繼承,可是能夠繼承其餘類。

class Yy {}
    final class Fu extends Yy{} //能夠繼承Yy類
    class Zi extends Fu{} //不能繼承Fu類
相關文章
相關標籤/搜索