Làm thế nào để triển khai lớp bên trong trong Java?



Lớp bên trong trong java có nghĩa là một lớp là thành viên của lớp khác. Bài viết này sẽ giúp bạn làm sáng tỏ lớp này.

Lớp bên trong trong java có nghĩa là một lớp là thành viên của lớp khác. Trong , có nhiều loại lớp bên trong. Bài viết này sẽ giúp bạn làm sáng tỏ tất cả các lớp này. Các gợi ý sau sẽ được thảo luận chi tiết,

Vì vậy, chúng ta hãy bắt đầu với bài viết Inner Class Trong Java này,





Lớp bên trong trong Java

Lớp bên trong lồng nhau

Lớp này có quyền truy cập vào bất kỳ giá trị cá thể riêng tư nào của lớp bên ngoài. Viết một lớp trong một lớp khác cũng được phép trong Java. Lớp được viết bên trong được gọi là lớp lồng nhau đã biết và lớp chứa lớp bên trong được gọi là lớp ngoài.



Cú pháp

lớp bên ngoài {lớp bên trong {}}

Thí dụ

Trong ví dụ dưới đây, Chúng tôi đang đặt lớp bên trong là riêng tư và truy cập lớp với sự trợ giúp của phương thức.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('Nó là một lớp bên trong')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} public class My_class {public static void main (String args []) {Outer_place ngoài = new Outer_place () ngoài.display_Inner ()}}

Đầu ra

Đầu ra - Lớp bên trong trong Java - Edureka

Ở đây, Nơi ngoài là lớp bên ngoài và Nơi bên trong được gọi là lớp bên trong.

Tiếp tục với bài viết Lớp bên trong trong Java này,

Tiếp cận các thành viên riêng tư

Các lớp bên trong cũng được sử dụng để truy cập các thành viên riêng của lớp. Giả sử có một lớp có các thành viên riêng để truy cập chúng. Bây giờ hãy viết một lớp bên trong lớp và truy cập các thành viên riêng từ một phương thức bên trong lớp bên trong.

Đây là ví dụ,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Nó là một phương thức getnum của lớp bên trong:') return num}}} public class My_class {public static void main (String args []) {Outer_place external = new Outer_place () Outer_place.Inner_place inner = external.new Inner_place () System.out.println (inner.getNum ())}}

Đầu ra

sắp xếp trong c ++

Tiếp tục,

Phương pháp của các lớp bên trong cục bộ

Trong Java, Bạn có thể viết một lớp bên trong phương thức và nó sẽ được gọi là kiểu cục bộ. Giống như tất cả các biến cục bộ, phạm vi của lớp bên trong bị giới hạn trong một phương thức.

Thí dụ

Ví dụ sau đây sẽ cho thấy cách một phương thức local class bên trong được triển khai.

public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('phương thức cho các lớp bên trong' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace ngoài = new Outerplace () ngoài.my_Method ()}}

Đầu ra

Tiếp tục với bài viết Lớp bên trong trong Java này,

Lớp bên trong ẩn danh

Bất kỳ lớp bên trong nào được khai báo mà không có tên lớp được gọi là lớp bên trong ẩn danh. Trong trường hợp các lớp bên trong ẩn danh, chúng tôi khởi tạo và khai báo nó cùng một lúc.

Bất cứ khi nào chúng ta muốn ghi đè phương thức của lớp hoặc một giao diện, chúng ta sử dụng lớp này.

Cú pháp

AnonymousInner obj1 = new AnonymousInner () {public void method () {}}

Thí dụ

lớp trừu tượng AnonymousInner {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('ví dụ về nặc danh lớp bên trong ')}} inner.mymethod ()}}

Đầu ra

Tiếp tục với bài viết Lớp bên trong trong Java này,

Lập luận của lớp bên trong ẩn danh

Trong điều này, Nếu một phương thức chấp nhận đối tượng của giao diện, của một lớp trừu tượng hoặc lớp cụ thể, thì chúng ta có thể triển khai giao diện, chuyển đối tượng cho phương thức và mở rộng lớp trừu tượng.

Cú pháp

phản đối. phương thức (new class () {public void do {}})

Thí dụ

// giao diện interface Thông báo {String welcome ()} public class My_class {// đối tượng của thông báo interface được chấp nhận bởi phương thức này public void displayMessage (Message m) {System.out.println (m.greet () + ', ví dụ về ẩn danh lớp bên trong làm đối số ')} public static void main (String args []) {// Khởi tạo lớp My_class obj = new My_class () // Truyền lớp bên trong ẩn danh làm đối số obj.displayMessage (new Message () {public Chuỗi chào () {return 'Hey'}})}}

Đầu ra

Tiếp tục với bài viết Lớp bên trong trong Java này,

Lớp bên trong ẩn danh của một lớp con được chỉ định

Mã nguồn

class Demo {void show () {System.out.println ('i was in show method of class')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () Hệ thống. out.println ('tôi đã có mặt trong lớp Flavor1Demo')}} public static void main (String [] args) {d.show ()}}

Đầu ra

Tiếp tục với bài viết Lớp bên trong trong Java này,

Lớp bên trong ẩn danh với tư cách là người triển khai được chỉ định Giao diện

Mã nguồn

class Flavor2Demo {// class triển khai giao diện Hello static Hello h = new Hello () {public void show () {System.out.println ('i was present in hidden class')}} public static void main (String [] args) {h.show ()}} giao diện Xin chào {void show ()}

Đầu ra

Tiếp tục với bài viết Lớp bên trong trong Java này,

Các lớp lồng nhau tĩnh

Các lớp này về mặt kỹ thuật không được biết đến như một lớp bên trong. Các lớp này tương tự như thành viên tĩnh của lớp ngoài. Một lớp lồng nhau tĩnh không có bất kỳ quyền truy cập nào vào các biến và phương thức của lớp ngoài. Chúng ta không cần khởi tạo lớp bên ngoài, Nó có thể được truy cập trực tiếp bằng cách sử dụng các thành viên tĩnh.

Cú pháp

Lớp bên ngoài {Static class nested_example {}}

Thí dụ

public class Outer {static class Nested_Example {public void my_method () {System.out.println ('It is the nested class')}} public static void main (String args []) {Outer.Nested_Example lồng nhau = new Outer.Nested_Example () nested.my_method ()}}

Đầu ra

Như vậy là chúng ta đã kết thúc bài viết này. Nếu bạn muốn tìm hiểu thêm,kiểm tra bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa học đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

tạo một mảng các đối tượng

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến vấn đề này trong phần bình luận của bài viết này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.