java類(lèi)里面怎么定義類(lèi)

小億
94
2024-09-05 05:58:59

在Java類(lèi)中,可以通過(guò)定義內(nèi)部類(lèi)(Inner Class)的方式來(lái)定義一個(gè)類(lèi)。內(nèi)部類(lèi)可以分為四種類(lèi)型:成員內(nèi)部類(lèi)、局部?jī)?nèi)部類(lèi)、匿名內(nèi)部類(lèi)和靜態(tài)內(nèi)部類(lèi)。下面是一個(gè)示例,展示了如何在一個(gè)Java類(lèi)中定義不同類(lèi)型的內(nèi)部類(lèi):

public class OuterClass {
    // 成員內(nèi)部類(lèi)
    class MemberInnerClass {
        void display() {
            System.out.println("This is a member inner class.");
        }
    }

    // 靜態(tài)內(nèi)部類(lèi)
    static class StaticInnerClass {
        void display() {
            System.out.println("This is a static inner class.");
        }
    }

    public static void main(String[] args) {
        // 創(chuàng)建成員內(nèi)部類(lèi)對(duì)象
        OuterClass outer = new OuterClass();
        OuterClass.MemberInnerClass memberInner = outer.new MemberInnerClass();
        memberInner.display();

        // 創(chuàng)建靜態(tài)內(nèi)部類(lèi)對(duì)象
        OuterClass.StaticInnerClass staticInner = new OuterClass.StaticInnerClass();
        staticInner.display();

        // 局部?jī)?nèi)部類(lèi)(在方法內(nèi)部定義)
        class LocalInnerClass {
            void display() {
                System.out.println("This is a local inner class.");
            }
        }
        LocalInnerClass localInner = new LocalInnerClass();
        localInner.display();

        // 匿名內(nèi)部類(lèi)(沒(méi)有類(lèi)名的內(nèi)部類(lèi))
        Runnable runnable = new Runnable() {
            @Override
            public void run() {
                System.out.println("This is an anonymous inner class.");
            }
        };
        new Thread(runnable).start();
    }
}

在這個(gè)示例中,我們定義了一個(gè)外部類(lèi)OuterClass,并在其中定義了成員內(nèi)部類(lèi)MemberInnerClass、靜態(tài)內(nèi)部類(lèi)StaticInnerClass、局部?jī)?nèi)部類(lèi)LocalInnerClass和匿名內(nèi)部類(lèi)。然后在main方法中,我們創(chuàng)建了這些內(nèi)部類(lèi)的對(duì)象并調(diào)用了它們的display方法。

0