内部类练习题(静态内部类应用)

Posted summerdata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类练习题(静态内部类应用)相关的知识,希望对你有一定的参考价值。

package com.Summer_0429.cn;

/**
 * @author Summer
 * 静态内部类的应用
 * 示例:
 * 定义一所学校,学校有:
 *         饮水机:WaterFountain
 *             水量
 *         管理饮水机();
 * 
 * 要求:创建一所学校,访问饮水机的水量
 *
 */
class School{
    static int ssn = 33;
    static class WaterFountain{
        int n = 11;
        static int sn = 22;
        public void f(){
            System.out.println("水量:"+n);
        }
        public static void sf(){
        //    System.out.println(new WaterFountain().n);//静态方法访问非静态变量
        System.out.println(sn);//静态方法访问静态成员绝对没有问题
        System.out.println(ssn);//静态内部类直接访问静态外部类中变量
        }
    } 
    public void show(){
        //外部类中访问静态内部类中的成员
        //访问实例成员
        WaterFountain wf = new WaterFountain();
        wf.f();
        //外部类中访问静态成员,不需要创建对象进行实例化
        School.WaterFountain.sf();
    }
}

public class TestStatic {

    public static void main(String[] args) {
        School school = new School();
        school.show();
        //顶级类中访问静态类中的静态方法不需要创建对象,直接访问即可
        School.WaterFountain.sf();
        //顶级类中访问静态类中的成员方法,需要创建静态内部类对象进行访问
        School.WaterFountain sw = new School.WaterFountain();
        sw.f();

    }

}

 

以上是关于内部类练习题(静态内部类应用)的主要内容,如果未能解决你的问题,请参考以下文章

片段内部静态类和gradle问题

错误:这个片段内部类应该是静态的 [ValidFragment]

Java 静态内部类作用?

匿名对象,封装,构造代码块静态代码块内部类匿名内部类

此Loader类应该是静态的,否则可能会发生泄漏内部类内存泄漏| AsyncTaskLoader内存泄漏 -

代码片--练习匿名内部类