Từ khóa New trong Java

Ngày đăng: 10/08/2020   -    Cập nhật: 10/08/2020
Xin chào tất cả các bạn, chúng ta lại gặp nhau trong loạt bài viết về Java.

Hôm trước, mình đã có 1 bài về từ khóa continue trong Java rồi, hôm nay chúng ta sẽ cùng nhau tìm hiểu tiếp về một từ khóa cũng rất là quan trọng trong Java, đó chính là từ khóa new.


Từ khóa new trong Java

Từ khóa new trong Java

Vậy từ khóa new trong Java sử dụng để làm cái gì, nó có mài ra ăn được hay không? Chúng ta cùng nhau tìm hiểu nhé. :D

1. Từ khóa new trong Java là gì?


Đầu tiên, phải khẳng định luôn “new” trong Java là một … từ khóa (keyword).

Vâng, chính vì thế, chúng ta không được đặt tên hàm, phương thức, biến hay bất cứ thứ gì trùng với từ khóa new.

Từ khóa new được sử dụng để cấp phát bộ nhớ cho đối tượng.

Nói rõ hơn đó là:


  • Lúc ta định nghĩa ra một đối tượng, chúng ta chỉ mới tạo ra nó trong "kế hoạch", trong "tưởng tượng".
  • Đối tượng chưa thực sự tồn tại vì chưa được cấp phát vùng nhớ trên máy tính.

Tiếp đó, chúng ta dùng new để chính thức cấp phát vùng nhớ cho đối tượng.

Đến lúc này thì đối tượng mới thực sự tồn tại trong chương trình của chúng ta.

Lưu ý: Trong Java có một số lớp đặc trưng không cần dùng từ khóa “new” để tạo đối tượng cho nó, do đó cách sử dụng của nó khá giống với một kiểu dữ liệu, điển hình trong trường hợp này là String.

Lý thuyết nhiêu đó là dư xài rồi, giờ chúng ta sẽ cùng nhau đi đến phần ứng dụng về cách sử dụng từ khóa new trong Java.


2. Những cách sử dụng từ khóa new trong Java?


Từ khóa new được sử dụng chủ yếu trong việc tạo ra đối tượng, giúp ta có thể thao tác với đối tượng đó.

Cú pháp đơn giản của nó:



ViDuNew obj = new ViDuNew();
 

Nó thường được sử dụng bằng một số cách sau đây:

Cách 1: Các sử dụng từ khóa new để tạo đối tượng đơn giản



public class ViDuTuKhoaNew1 {
    void hienThiThongTin()
    {
        System.out.println("Gọi phương thức hienThiThongTin");  
    }
    public static void main(String[] args) {
        // Tạo đối tượng mới
        ViDuTuKhoaNew1 obj = new ViDuTuKhoaNew1();
        // Truy cập phương thức của đối tượng
        obj.hienThiThongTin();
    }  
}
 

Như bạn thấy, sau khi tạo một class và định nghĩa phương thức hienThiThongTin() thì chúng ta chưa truy cập được phương thức đó ngay.

Mà phải tạo một đối tượng (thể hiện) của class đó thì mới truy cập được:



ViDuTuKhoaNew1 obj = new ViDuTuKhoaNew1();
 

Sau đó, bạn có thể sử dụng đối tượng (thể hiện) vừa tạo để truy cập các phương thức, biến đối tượng của nó.


obj.hienThiThongTin();
 

Kết quả nhận được là:


Gọi đến phương thức hienThiThongTin
 

Cách 2: Sử dụng từ khóa new và tham chiếu đến constructor tương ứng.


Như bạn đã biết, khi tạo đối tượng, chương trình sẽ tự động gọi đến constructor tương ứng (nếu có định nghĩa rõ ràng constructor) hoặc nếu không có thì tự tạo và gọi đến constructor mặc định.


public class ViDuTuKhoaNew2 {

    ViDuTuKhoaNew2() {
        System.out.println("Gọi đến constructor tương ứng");
    }

    public static void main(String[] args) {
        // Tạo đối tượng mới
        ViDuTuKhoaNew2 obj = new ViDuTuKhoaNew2();
    }
}
 

Khi chạy chương trình, chúng ta nhận được kết quả là:


Gọi đến constructor tương ứng
 

> Đọc thêm: Constructor trong Java

Cách 3: Gọi từ khóa new để khởi tạo đối tượng mới có đối số.


Ví dụ, ở đây mình định nghĩa một class là Student và thực hiện get / set cho class này.


class Student {
    private String MSSV;
    private String ten;

    // Hàm (constructor) khởi tạo đối tượng
    public Student(String MSSVString ten) {
        this.MSSV = MSSV;
        this.ten = ten;
    }

    // Các hàm get, set thuộc tính của đối tượng
    public String LayMSSV() {
        return this.MSSV;
    }

    public String LayTen() {
        return this.ten;
    }

    public void DatMSSV(String MSSV) {
        this.MSSV = MSSV;
    }

    public void DatTen(String ten) {
        this.ten = ten;
    }
}
 

Tiếp đó mình tạo một class Main (trong cùng file Main.java) để thực hiện một số hành động sử dụng class Student.


class Main {
    public static void main(String[] args) {
        // Khai báo một đối tượng Student và khởi tạo nó luôn, cùng một dòng lệnh
        Student student = new Student("B1714757""Tran Thanh Tam");
        // Thao tác với đối tượng vừa được khởi tạo
        System.out.println("Trước khi chỉnh sửa:");
        System.out.println("Mã số sinh viên: " + student.LayMSSV());
        System.out.println("Tên sinh viên: " + student.LayTen());

        student.DatMSSV("B1704948");
        student.DatTen("Nguyen Viet Tu");

        System.out.println("Sau khi chỉnh sửa:");
        System.out.println("Mã số sinh viên: " + student.LayMSSV());
        System.out.println("Tên sinh viên: " + student.LayTen());
    }
}
 

Khi định nghĩa xong class Student thì bạn chưa sử dụng được chúng, chưa gọi đến được các phương thức của nó.

Bởi vì bạn mới chỉ lập một bản kế hoạch thôi.

Sau khi sử dụng từ khóa new, ví dụ như thế này:



Student student = new Student("B1714757""Tran Thanh Tam");
 

Thì một sinh viên thực thụ mới được tạo ra (được cấp phát bộ nhớ)

Ở đây, mình truyền đối số trong khi new đối tượng để tận dụng constructor tạo ra các thông tin ban đầu của sinh viên luôn.

Kết quả có được như thế này:



Trước khi chỉnh sửa:
Mã số sinh viên: B1714757
Tên sinh viên: Tran Thanh Tam
Sau khi chỉnh sửa:
Mã số inh viên: B1704948
Tên sinh viên: Nguyen Viet Tu
 

Nếu bạn không tạo đối tượng, thì bạn không thể truy cập, chỉnh sửa như thế này được đâu:


student.DatMSSV("B1704948");
student.DatTen("Nguyen Viet Tu");
 

Cách 4: Sử dụng từ khóa new để tạo mảng


Đúng vậy, bạn có thể tạo một mảng bằng cách sử dụng từ khóa new:


public class ViDuTuKhoaNew4 {  

    // Tạo một đối tượng mảng
    static int arr[]=new int[5];
    
    public static void main(String[] args) {  
        System.out.println("Độ dài của mảng là: "+ arr.length);  
    }
}
 

Lưu ý, ta sử dụng từ khóa static khi tạo mảng đối tượng để truy cập mà không cần tạo đối tượng mới.

Kết quả nhận được là:



Độ dài của mảng là: 5
 

Hoặc nếu bạn tạo đối tượng mảng mới trong phương thưc main thì không cần static, ví dụ:


public class ViDuTuKhoaNew4 {  

    public static void main(String[] args) {
        // Tạo một đối tượng mảng
        int arr[]=new int[5];
        System.out.println("Độ dài của mảng là: "+ arr.length);  
    }
}
 

Khi chạy chương trình, chúng ta cũng nhận được kết quả tương tự:


Độ dài của mảng là: 5
 

Cách 5: Sử dụng từ khóa new để khởi tạo Java Collection


Hãy cùng xem ví dụ sử dụng từ khóa new trong Java Collection:


import java.util.*;  
  
public class ViDuTuKhoaNew5 {  
  
    public static void main(String[] args) {  
        List obj = new ArrayList();  
        obj.add("Java");  
        obj.add("PHP");  
        obj.add("Python");  
        System.out.println(obj);  
    }
}
 

Kết quả khi chạy chương trình:


[Java, PHP, Python]
 

> Đọc thêm: Tất tần tật về List trong Java

Bạn đã biết cách sử dụng từ khóa new trong Java chưa?


Như vậy là chúng ta vừa tìm hiểu xong về từ khóa new trong Java, đây một từ khóa cực kì quan trọng đối với Java nói riêng và với lập trình hướng đối tượng nói chung.

Tóm lại là, từ khóa new giúp cho ta cấp phát vùng nhớ cho đối tượng, hay nói cách khác là khởi tạo đối tượng, giúp nó hiện hữu trong chương trình của chúng ta và chúng ta có thể lôi đối tượng ra sử dụng khi cần.

Đây là một từ khóa tối quan trọng, vì vậy các bạn cần nắm vững nó, nó sẽ đi cùng bạn suốt sự nghiệp lập trình viên Java đó.

> Nếu bạn muốn trở thành Lập trình viên Java chuyên nghiệp thì hãy tham khảo ngay lộ trình bài bản như KHÓA HỌC JAVA tại NIIT - ICT Hà Nội. 

Chúng ta còn rất nhiều từ khóa khác trong Java để tìm hiểu. Để trở thành một lập trình viên giỏi, các bạn nhất thiết phải nắm rõ các từ khóa này.

Một số ví dụ điển hình như: abstract, break, final, finally, static, …
           
Sử dụng thành thạo các từ khóa sẽ giúp ích rất nhiều cho chúng ta trong quá trình xây dựng phần mềm.

Vì vậy hãy luyện tập, học Java mỗi ngày bạn nhé.

> Đọc thêm: Tự học Java Cơ bản


---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!