请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

猿媛之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4176|回复: 0

Java面试必考-什么是反射机制?

[复制链接]

554

主题

556

帖子

1938

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1938
发表于 2016-2-28 22:44:50 | 显示全部楼层 |阅读模式

    反射机制是Java语言的一个非常重要的特性,它允许程序在运行的时候进行自我检查,同时也可以对其内部的成员进行操作。虽然这个特性在实际开发的时候用的不多,但是像PascalCC++等语言根本就没有提供这样的特性。由于反射机制能够实现在运行时对类进行装载,因此能够增加程序的灵活性,但是不恰当的使用反射机制,也会严重影响系统的性能。
具体而言,反射机制提供的功能主要有以下内容:得到一个对象所属的类;获取一个类的所有成员变量和方法;在运行时创建对象;在运行时调用对象的方法。
反射机制非常重要的的一个作用就是可以在运行时动态地创建类的对象。如下例所示。
class Base{
       public void f(){
              System.out.println("Base");
       }
}
class Sub extends Base{            
       public void f(){
              System.out.println("Sub");
       }  
   
}

public class Test {   
    public static void  main(String[] args) {
           try{//使用反射机制加载类
                  Class c=Class.forName("Sub");
                  Base b=(Base)c.newInstance();
                  b.f();
           }catch(Exception e){
                  e.printStackTrace();
           }     
    }   
}   
程序运行结果为:
Sub
在反射机制中Class是一个非常重要的类,那么如何才能获取Class类呢?总共有如下三种方法可以获取到Class类:
1Class.forName(“类的路径”);如上例所示。
2)类名.class
3)实例.getClass()

常见笔试题:
Java创建对象的方式有几种?
答案:共有四种创建对象的方法。
(1)通过new实例化一个对象。
(2)通过反射机制创建对象,见上面讲解。
(3)通过clone方法创建一个对象。
4)通过反序列化的方式创建对象。



年薪30万?????
赢取白富美,当上CEO??????
嫁给高富帅,成为阔太太?????
房子、车子、女子、孩子??????
恭喜你,只要你立志成为一名程序猿/媛,这些都不是梦。
那么问题来了,如何进入一家靠谱的IT企业呢?
我需要各大IT名企历年笔试面试真题与答案,怎么办?
我需要与顶级面试官与IT名企过来人心与心的交流,怎么办?
我需要学习offer达人的成功经验,怎么办?
都不是问题,猿媛之家来帮你。
猿媛之家程序员最可信赖的求职帮手这里有真题库、面经、一对一辅导、企业内推、招聘信息、行业发展、程序猿/媛恋爱、程序猿/媛段子等等,只要你需要,这里什么都有
更多信息请访问猿媛之家官方网站:www.yuanyuanzhijia.com


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|猿媛之家    

GMT+8, 2020-4-9 04:23 , Processed in 0.339305 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表