内部类练习题(静态内部类应用)
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(); } }