Nhận loại đối tượng trong Java – java là loại

Bài viết này giải thích cách lấy kiểu đối tượng trong Java

Bạn đang xem: < font style = "vertical-align: inherit;"> java là loại

Trong bài viết này, chúng ta sẽ tìm hiểu cách lấy loại của đối tượng trong Java. Sẽ rất hữu ích nếu bạn kiểm tra loại đối tượng khi đối tượng đến từ một nguồn. Đó là nơi chúng tôi không thể xác minh loại đối tượng, chẳng hạn như từ API hoặc một lớp riêng tư mà chúng tôi không có quyền truy cập.

Lấy loại đối tượng bằng cách sử dụng getClass () trong Java

Trong phương pháp đầu tiên, chúng tôi kiểm tra loại đối tượng của các lớp trình bao bọc như Integer Chuỗi . Chúng ta có hai đối tượng, var1 var2 , để kiểm tra loại. Chúng tôi sẽ sử dụng phương thức getClass () của lớp Object , lớp cha của tất cả các đối tượng trong Java.

Chúng tôi kiểm tra lớp bằng cách sử dụng if điều kiện. Vì các lớp trình bao bọc cũng chứa một lớp trường trả về kiểu, chúng ta có thể kiểm tra kiểu của ai khớp với var1 var2 . Dưới đây, chúng tôi kiểm tra cả hai đối tượng với ba loại.

  public class ObjectType {
    public static void main (String [] args) {
        Đối tượng var1 = Integer.valueOf ("15");
        Đối tượng var2 = String.valueOf (var1);

        if (var1.getClass () == Integer.class) {
            System.out.println ("var1 là một Số nguyên");
        } else if (var1.getClass () == String.class) {
            System.out.println ("var1 là một Chuỗi");
        } else if (var1.getClass () == Double.class) {
            System.out.println ("var1 là một Double");
        }

        if (var2.getClass () == Integer.class) {
            System.out.println ("var2 là một số nguyên");
        } else if (var2.getClass () == String.class) {
            System.out.println ("var2 là một chuỗi");
        } else if (var2.getClass () == Double.class) {
            System.out.println ("var2 là một Double");
        }
    }
}

 

Đầu ra:

  var1 là một Số nguyên
var2 là một chuỗi
 

Lấy loại đối tượng bằng instanceOf trong Java

Khác phương pháp lấy kiểu đối tượng trong Java bằng cách sử dụng hàm instanceOf ; nó trả về nếu thể hiện của đối tượng khớp với lớp đã cho. Trong ví dụ này, chúng ta có các đối tượng var1 var2 được kiểm tra với ba loại sau: Integer , String Double ; nếu bất kỳ điều kiện nào đáp ứng, chúng tôi có thể thực thi một mã khác.

var1 thuộc loại Integer , nên điều kiện var1 instanceOf Integer sẽ trở thành true và var2 Double nên var2 instanceOf Double sẽ trở thành true.

 < code class = "language-java"> public class ObjectType {
    public static void main (String [] args) {
        Đối tượng var1 = Integer.valueOf ("15");
        Đối tượng var2 = Double.valueOf ("10");

        if (var1 instanceof Integer) {
            System.out.println ("var1 là một Số nguyên");
        } else if (var1 instanceof String) {
            System.out.println ("var1 là một Chuỗi");
        } else if (var1 instanceof Double) {
            System.out.println ("var1 là một Double");
        }

        if (var2 instanceof Integer) {
            System.out.println ("var2 là một số nguyên");
        } else if (var2 instanceof String) {
            System.out.println ("var2 là một chuỗi");
        } else if (var2 instanceof Double) {
            System.out.println ("var2 là một Double");
        }
    }
}
 

Đầu ra:

  var1 là một Số nguyên
var2 là một Double
 

Lấy loại đối tượng lớp được tạo thủ công trong Java

Chúng tôi đã kiểm tra các loại lớp trình bao bọc, nhưng trong ví dụ này, chúng tôi nhận được loại ba đối tượng của ba lớp được tạo thủ công. Chúng tôi tạo ba lớp: ObjectType2 , ObjectType3 ObjectType4 .

ObjectType3 kế thừa ObjectType4 ObjectType2 kế thừa ObjectType3 . Bây giờ chúng ta muốn biết kiểu đối tượng của tất cả các lớp này. Chúng ta có ba đối tượng, obj , obj2 obj3 ; chúng tôi sử dụng cả hai phương thức mà chúng tôi đã thảo luận trong các ví dụ trên là getClass () instanceOf .

Tuy nhiên, có sự khác biệt giữa loại < mã> obj2 . Biến obj2 trả về kiểu ObjectType4 trong khi lớp của nó là ObjectType3 . Điều này xảy ra vì chúng ta kế thừa lớp ObjectType4 trong ObjectType3 instanceOf kiểm tra tất cả các lớp và lớp con. obj trả về ObjectType3 vì hàm getClass () chỉ kiểm tra lớp trực tiếp.

  loại công khai ObjectType {
    public static void main (String [] args) {

        Đối tượng obj = new ObjectType2 ();
        Đối tượng obj2 = new ObjectType3 ();
        Đối tượng obj3 = new ObjectType4 ();

        if (obj.getClass () == ObjectType4.class) {
            System.out.println ("obj thuộc loại ObjectType4");
        } else if (obj.getClass () == ObjectType3.class) {
            System.out.println ("obj thuộc loại ObjectType3");
        } else if (obj.getClass () == ObjectType2.class) {
            System.out.println ("obj thuộc loại ObjectType2");
        }

        if (obj2 instanceof ObjectType4) {
            System.out.println ("obj2 là một thể hiện của ObjectType4");
        } else if (obj2 instanceof ObjectType3) {
            System.out.println ("obj2 là một thể hiện của ObjectType3");
        } else if (obj2 instanceof ObjectType2) {
            System.out.println ("obj2 là một thể hiện của ObjectType2");
        }


        if (obj3 instanceof ObjectType4) {
            System.out.println ("obj3 là một thể hiện của ObjectType4");
        } else if (obj3 instanceof ObjectType3) {
            System.out.println ("obj3 là một thể hiện của ObjectType3");
        } else if (obj3 instanceof ObjectType2) {
            System.out.println ("obj3 là một thể hiện của ObjectType2");
        }

    }

}

class ObjectType2 mở rộng ObjectType3 {

    int getAValue3 () {
        System.out.println (getAValue2 ());
        a = 300;
        trả lại a;
    }
}

class ObjectType3 mở rộng ObjectType4 {

    int getAValue2 () {
        System.out.println (getAValue1 ());
        a = 200;
        trả lại a;
    }

}

lớp ObjectType4 {

    int a = 50;

    int getAValue1 () {
        a = 100;
        trả lại a;
    }

}
 

Đầu ra:

  obj thuộc loại ObjectType2
obj2 là một phiên bản của ObjectType4
obj3 là một phiên bản của ObjectType4
 

Viết cho chúng tôi

Các bài viết trên DelftStack được viết bởi những chuyên gia phần mềm như bạn. Nếu bạn cũng muốn đóng góp cho DelftStack bằng cách viết các bài báo trả phí, bạn có thể xem trang viết cho chúng tôi .


Xem thêm những thông tin liên quan đến chủ đề java là loại

Is Java Still Worth Learning in 2021?

  • Tác giả: Keep On Coding
  • Ngày đăng: 2021-06-03
  • Đánh giá: 4 ⭐ ( 1586 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Get your free 1st month of JetBrains Academy: https://jb.gg/academy/keep_on_coding

    Complete the 1st stage of your project to receive your 2nd month free!
    Complete your 1st project within this time to receive your 3rd month free!

    ———————————————————————————–

    Instagram: https://www.instagram.com/keep_on_coding
    Discord: https://discord.gg/ypFyyWq
    Become a Member: https://www.youtube.com/keeponcoding/join
    My Gear: https://amazon.com/shop/keeponcoding

    ———————————————————————————–

    CodeJams is out on all major streaming platforms!
    Spotify – https://bit.ly/CodeJamsSpotify
    Apple Music – https://bit.ly/CodeJamsAppleMusic
    YouTube – https://bit.ly/CodeJamsYouTube
    Amazon Music – https://bit.ly/CodeJamsAmazon

    ———————————————————————————–

    keeponcoding tech programming

Java là gì? Tại sao nên chọn Java?

  • Tác giả: quantrimang.com
  • Đánh giá: 3 ⭐ ( 1326 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Java là gì? Java là ngôn ngữ lập trình bậc cao, được phát triển bởi Sun Microsystem và phát hành vào năm 1995. Java chạy trên rất nhiều nền tảng khác nhau, như Windows, Mac và các phiên bản khác nhau của UNIX.

Java là gì? Giới thiệu hoàn chỉnh về Java cho người mới bắt đầu

  • Tác giả: t3h.com.vn
  • Đánh giá: 4 ⭐ ( 1192 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Nếu bạn đang dự định bắt đầu sự nghiệp lập trình bằng Java, đừng bỏ lỡ bài viết giới thiệu hoàn chỉnh về Java cho người mới bắt đầu của T3H bạn nhé!

Ngôn ngữ lập trình Java: Khái niệm, Đặc điểm và Ứng dụng

  • Tác giả: magenest.com
  • Đánh giá: 4 ⭐ ( 4040 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ngôn ngữ lập trình Java là một ngôn ngữ lập trình rất phổ biến và được sử dụng nhiều vì tính bảo mật cao. Vậy đặc điểm và ứng dụng nổi bật của nó là gì?

Tổng quan về ngôn ngữ lập trình java

  • Tác giả: topdev.vn
  • Đánh giá: 5 ⭐ ( 5466 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Java là một trong những ngôn ngữ lập trình hướng đối tượng, được sử dụng phát triển phần mềm, trang web, game,…

Java là gì? Giới thiệu ngôn ngữ Java

  • Tác giả: mylop.edu.vn
  • Đánh giá: 3 ⭐ ( 9237 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài đầu tiên về series tự học Java cơ bản (Java Core) này, chúng ta sẽ lần lượt tìm hiểu về khái niệm Java là gì, sự hình thành của ngôn ngữ này, vì sao

Java là gì? Những điều cần biết trước khi lập trình Java.

  • Tác giả: itnavi.com.vn
  • Đánh giá: 3 ⭐ ( 6126 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Đồng hồ đếm ngược đơn giản sử dụng JavaScript - ngày giờ đếm ngược javascript