java初始化對象的幾種方法實例講解


java中初始化對象3種方式,它們分別如下 -

  1. 通過引用變量初始化對象
  2. 通過方法初始化對象
  3. 通過構造函數初始化對象

(更多教程請閱讀碼農之家)

通過引用變量初始化對象

初始化對象僅僅是將數據初步地存儲到對象中。下面來看看一個簡單的例子,通過引用變量初始化對象。這里創建一個 TestStudent2.java 類文件,代碼如下:

class Student {
    int id;
    String name;
}

class TestStudent2 {
    public static void main(String args[]) {
        Student s1 = new Student();
        s1.id = 101;
        s1.name = "Sonoo";
        System.out.println(s1.id + " " + s1.name);// printing members with a
                                                    // white space
    }
}

上面代碼輸出結果如下 -

101 Sonoo

還可以通過引用變量創建多個對象並存儲信息在這些對象。這里創建一個 TestStudent3.java 類文件,代碼如下:

class Student {
    int id;
    String name;
}

class TestStudent3 {
    public static void main(String args[]) {
        // Creating objects
        Student s1 = new Student();
        Student s2 = new Student();
        // Initializing objects
        s1.id = 101;
        s1.name = "Sonoo";
        s2.id = 102;
        s2.name = "Amit";
        // Printing data
        System.out.println(s1.id + " " + s1.name);
        System.out.println(s2.id + " " + s2.name);
    }
}

上面代碼輸出結果如下 -

101 Sonoo
102 Amit

 通過方法初始化對象

在本示例中,將創建Student類的兩個對象,並通過調用insertRecord方法來初始化這些對象的值。並通過調用displayInformation()方法顯示對象的狀態(數據)。這里創建一個 TestStudent4.java 類文件,代碼如下:

class Student {
    int rollno;
    String name;

    void insertRecord(int r, String n) {
        rollno = r;
        name = n;
    }

    void displayInformation() {
        System.out.println(rollno + " " + name);
    }
}

class TestStudent4 {
    public static void main(String args[]) {
        Student s1 = new Student();
        Student s2 = new Student();
        s1.insertRecord(111, "Karan");
        s2.insertRecord(222, "Aryan");
        s1.displayInformation();
        s2.displayInformation();
    }
}

執行上面代碼,得到如下結果 -

111 Karan
222 Aryan

創建對象的示意如下 -

 

從上圖可以看出,對象在堆內存區域獲取內存。 引用變量指的是在堆內存區域中分配的對象。 這里,s1s2都是引用存儲器中分配的對象的引用變量。

通過構造函數初始化對象

有關於通過構造函數初始化對象,我們將在后面的Java構造函數中學習。

對象和類示例:Employee

下面我們來看看一個例子,實現維護員工信息的記錄。這里創建一個 TestEmployee.java 類文件,代碼如下所示 -

class Employee {
    int id;
    String name;
    float salary;

    void insert(int i, String n, float s) {
        id = i;
        name = n;
        salary = s;
    }

    void display() {
        System.out.println(id + " " + name + " " + salary);
    }
}

public class TestEmployee {
    public static void main(String[] args) {
        Employee e1 = new Employee();
        Employee e2 = new Employee();
        Employee e3 = new Employee();
        e1.insert(101, "ajeet", 45000);
        e2.insert(102, "irfan", 25000);
        e3.insert(103, "nakul", 55000);
        e1.display();
        e2.display();
        e3.display();
    }
}

上面代碼執行得到結果如下 -

101 ajeet 45000.0
102 irfan 25000.0
103 nakul 55000.0

 對象和類示例:Rectangle

還有另一個維護Rectangle類記錄的例子。這里創建一個 TestRectangle1.java 類文件,代碼如下所示 -

class Rectangle {
    int length;
    int width;

    void insert(int l, int w) {
        length = l;
        width = w;
    }

    void calculateArea() {
        System.out.println(length * width);
    }
}

class TestRectangle1 {
    public static void main(String args[]) {
        Rectangle r1 = new Rectangle();
        Rectangle r2 = new Rectangle();
        r1.insert(11, 5);
        r2.insert(3, 15);
        r1.calculateArea();
        r2.calculateArea();
    }
}

上面代碼執行得到結果如下 -

55 
45


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM