为了账号安全,请及时绑定邮箱和手机立即绑定

用java编写中文代码解释内部类外部类静态类反射—我竟有不习惯用中文的一天

标签:
Java
class 外部类{

    private static String 外部类私有变量="Hello";

    class 内部类{
        private String 内部类私有变量="World";
        public void 输出() {
            System.out.println(外部类.this.外部类私有变量);
        System.out.println(外部类.内部类.class);
        }

    }

    static class 静态内部类{

        public void 输出() {
            System.out.println(外部类私有变量.concat("中国"));
        }
    }

    public void 外部类测试() {

        内部类 内部类对象=new 内部类();

        内部类对象.输出();
        System.out.println(内部类对象.内部类私有变量);
    }

    public static void 外部类方法() {
        System.out.println("外部类方法:"+外部类私有变量.concat("中国"));
    }
}

public class T7 {

    public static void main(String[] args) throws ClassNotFoundException {
        //这里的测试方法着重演示反射的机制。
        外部类 外部对象=new 外部类();

        System.out.println("外部类全名:"+外部对象.getClass().getName());
        System.out.println("外部类类名:"+外部对象.getClass().getSimpleName());
        //getclass必须实例化才能调用
        外部对象.外部类测试();//1、对象调用方法

        外部类.外部类方法();//2、类名直接调用方法。
        System.out.println("外部类.class获得的类名:"+外部类.class.getSimpleName());

        System.out.println("内部类的全名:"+外部类.内部类.class.getName());

        System.out.println("类T7的全名:"+Class.forName("T7").getName());

    }

}

根据李兴华老师的代码改变,大家测试一下运行结果。这个也解释了java经典面试题:
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。

求助,知道class.forName 重要,可是此处却报错,找不到。有明白的同学吗?

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消