zoukankan      html  css  js  c++  java
  • Java内部类及反射类面试问题,90%的人都不知道

     

    1、静态嵌套类 (Static Nested Class) 和内部类(Inner Class)的不同?

    静态嵌套类:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。

    内部类:需要在外部类实例化后才能实例化,其语法看起来挺诡异的。 (推荐学习:java面试题目)

    2、下面的代码哪些地方会产生编译错误?

    class Outer {
        class Inner {
        }
        public static void foo() {
            new Inner();
        }
        public void bar() {
            new Inner();
        }
        public static void main(String[] args) {
            new Inner();
        }
    }

    注意:Java中非静态内部类对象的创建要依赖其外部类对象,上面的面试题中foo和main方法都是静态方法,静态方法中没有this,也就是说没有所谓的外部类对象,因此无法创建内部类对象,如果要在静态方法中创建内部类对象,可以这样做:

    new Outer().new Inner();

    Java中的反射

    说说你对 Java 中反射的理解

    Java中的反射首先是能够获取到Java中要反射类的字节码,获取字节码有三种方法:

    Class.forName(className)。

    类名.class。

    this.getClass()。

    然后将字节码中的方法,变量,构造函数等映射成相应的Method、Filed、Constructor等类,这些类提供了丰富的方法可以被我们所使用。
    最后注意:光理论是不够的。在此顺便送大家十套2020最新JAVA架构项目实战教程及大厂面试题库,进我扣裙 :七吧伞吧零而衣零伞 (数字的谐音)转换下可以找到了,还可以跟老架构师交流

    本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

  • 相关阅读:
    第二次结对编程作业
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    软件工程实践作业(1)
    C博客作业01--分支丶顺序结构
    C博客作业00--我的第一篇博客
    C博客作业
    C博客作业01--分支、顺序结构
    一条简单select经过了多少路程
  • 原文地址:https://www.cnblogs.com/chengxuyuanaa/p/12899537.html
Copyright © 2011-2022 走看看