当前位置:首页 » 《休闲阅读》 » 正文

Java-内部类

28 人参与  2024年10月26日 08:03  分类 : 《休闲阅读》  评论

点击全文阅读


在这里插入图片描述
个人主页
学习内部类(Inner Class)是Java编程中一项重要且强大的特性,它允许你在一个类的内部定义另一个类。内部类提供了一种将逻辑上相关的类组织在一起的方式,增加了代码的封装性和可读性。接下来带领大家进入內部类的学习。

1静态内部类

2实例内部类

3匿名内部类

一:静态内部类的使用例子:

class OuterClass{    public int date1=1;    private int date2=2;    public static int date3=3;    static class InnerClass{        public int date4=4;        private int date5=5; public static int date6=6;    public void test(){       OuterClass outerclass=new OuterClass();       System.out.println(outerclass.date1);       System.out.println(outerclass.date2);       System.out.println(date3);       System.out.println(date4);       System.out.println(date5);       System.out.println(date6);       System.out.println("InnerClass:::test()");        }    }}public class Test {    public static void main(String[] args) {    OuterClass.InnerClass innerClass=new OuterClass.InnerClass();    innerClass.test();    }}

在这里插入图片描述

在静态内部类当中去访问外部类非静态成员,必须通过外部内对象引用来访问。如图所示:

在这里插入图片描述
二:实例内部类例子:

class OuterClass{    public int date1=1;    private int date2=2;    public static int date3=3;     class InnerClass{        public int date4=4;        private int date5=5;        public static int date6=6;        public void test(){            OuterClass outerclass=new OuterClass();            System.out.println(date1);            System.out.println(date2);            System.out.println(date3);            System.out.println(date4);            System.out.println(date5);            System.out.println(date6);            System.out.println("InnerClass:::test()");        }    }}public class Test {    public static void main(String[] args) {   // OuterClass.InnerClass innerClass=new OuterClass.InnerClass();    OuterClass outerClass=new OuterClass();    OuterClass.InnerClass innerClass=outerClass.new InnerClass();    //OuterClass.InnerClass innerClass=new OuterClass().new InnerClass();    innerClass.test();    }}

当有与外部相同的成员变量时,则访问的是实例内部类的成员变量。如图;得到的是date1=99.
在这里插入图片描述
那么要访问外部类的date1可以通过外部內类名(OuterClass.this.date1)就可以。

三:匿名内部类的例子:
匿名内部类(Anonymous Inner Class)是Java中一种没有名字的内部类,通常用于简化代码或实现一次性的、简单的类定义。

class 0uterClass {    public void test(){        System.out.println("OuterClass:::test()");        }}public class Test{    public static void main(String[] args) {    new 0uterClass(){        @Override        public void test(){                System.out.println("重写了test()方法:::");            }        }.test();    }}

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/177778.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1