java静态内部类

来源:互联网 发布:国外有什么直播软件 编辑:程序博客网 时间:2024/06/06 05:41
package com.qf.inner02;//静态内部类public class DemoInner02 {public static void main(String[] args) {//实例化内部类对象Outer.Inner inner = new Outer.Inner();}}class Outer{private String name="tom";private static String phone="1234";public void run(){//访问内部类成员System.out.println(Inner.sex);Inner.drink();Inner inner = new Inner();System.out.println(inner.age);inner.eat();}public static void sleep(){}//静态内部类static class Inner{private int age = 20;//静态内部类中可以直接声明静态成员private static String sex="male";public static void drink(){}public void eat(){//不能直接访问非静态成员//System.out.println(name);//run();//可以直接访问静态成员System.out.println(phone);sleep();}}}/*静态内部类,使用static修饰内部类a:静态内部类不持有外部类的引用,不能直接访问外部类中非静态成员,可以直接访问静态成员b:静态内部类中可以直接声明静态成员c:在外部类中访问内部类的成员1)静态的成员,内部类名直接访问,Inner.age2)非静态成员,实例化内部类对象之后访问d:实例化内部类对象Outer.Inner inner = new Outer.Inner();e:生成的字节码文件:Outer$Inner.class*/