JAVA内部静态类

package stringtest;

/**
 * @Author: shuyizhi @Date: 2018-08-15 15:04 @Description: 内部静态类
 * 1、创建静态内部类方式:Outer.Inner inner = new Outer.Inner();静态内部类不依赖于外部类。
 *2、外部类可通过内部类的对象调用内部类的私有成员变量或方法。
 *3、静态内部类访问外部类的静态成员变量或方法必须是静态的。
 *4、静态内部类中可定义静态的成员变量和方法。
 *5、外部类可以创建静态内部类的实例,即使是私有的;并可通过内部类的实例访问内部类的成员变量和方法,即使是私有的。
 */
public class StaticInnerClass {
    private static String s1 = "This is s1 in Outer";
    private static String s2 = "This is s2 in Outer";

    public void method1() {
        /** 外部类可以通过内部类的对象调用内部类的私有非静态成员变量或方法 */
        System.out.println("内部类的s1: " + new Inner().s1);
        System.out.println("内部类的method2方法: " + new Inner().method2());

        /** 外部类通过内部类名称访问私有静态成员变量或方法 */
        System.out.println("内部类的s3: " + Inner.s3);
        System.out.println("内部类的method3方法: " + Inner.method3());
    }

    public static String method2() {
        return "This is method2 in Outer";
    }

    /** 内部静态类 */
    public static class Inner {
        private String s1 = "This is s1 in Inner";
        private static String s3 = "This is s3 in Inner";

        public void method1() {
            /** 静态内部类可以直接访问外部类的私有静态成员变量或方法 */
            System.out.println("外部类的s2: " + s2);

            /** 同名变量的访问 */
            System.out.println("外部类的s1: " + StaticInnerClass.s1);
            System.out.println("内部类的s1: " + s1);

            /** 同名方法的访问 */
            System.out.println("外部类的method1方法: " + StaticInnerClass.method2());
            System.out.println("内部类的method2方法: " + method2());
        }

        private String method2() {
            return "This is method2 in Inner";
        }

        private static String method3() {
            return "This is static method3 in Inner";
        }
    }
}

转载 https://www.cnblogs.com/SQP51312/p/6102620.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值