spring静态内部类的练习

68 篇文章 0 订阅

内部类是在类的内部定义的另一个类,静态内部类是内部类的一种,是使用static关键字修饰的内部类,可以通过“外部类名.静态内部类名”的方式访问。

举例来说,有一个外部类OuterClass里面定义了一个静态内部类InnerClass,代码如下:

public class OuterClass { //一般类定义

        static class InnerClass { //静态内部类

                public void innerMethod() { //静态内部类的方法

                        System.out.println("This is InnerClass's Innermethod");

                }

        }

}

Java语言静态内部类的方法调用方式如下:

//静态内部类实例

OuterClass.InnerClass inner = new OuterClass.InnerClass(); inner.innerMethod(); //静态方法调用

如果要使用Spring容器来初始化和管理该内部类的实例,则可以在配置文件中做如下配置:

与代码使用“.”连接外部类和内部类不同,Bean的配置使用“$”来进行连接。

 OuterClass.java

package com.shrimpking.code04;


/**
 * @author user1
 */
public class OuterClass
{
    static class InnerClass
    {
        public void innerMethod()
        {
            System.out.println("This is InnerClass`s InnerMethod");
        }
    }
}

Beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--静态内部类的配置方式,用 $ 连接-->
    <bean id="innerObject" class="com.shrimpking.code04.OuterClass$InnerClass"/>


</beans>

OuterTest.java

package com.shrimpking.code04;

import org.junit.Test;

public class OuterTest
{
    @Test
    public void test()
    {
        //静态内部类实例
        OuterClass.InnerClass innerClass= new OuterClass.InnerClass();
        //静态方法调用
        innerClass.innerMethod();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值