2.User.class与user.getClass()方法的区别?或者说class是什么属性呢?
Posted 认识世界,接受世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.User.class与user.getClass()方法的区别?或者说class是什么属性呢?相关的知识,希望对你有一定的参考价值。
首先我们应该说一说Class类是什么?
简单来说Class是我们对User、Student等自定义的类的抽象的向上抽取,Class对象是我们的字节码文件
我们可以通过Class对象来获取我们类的详细信息,比如权限修饰符、类名、方法名……
但是这个Class类却不用我们编写,它是有JVM自动编写的,获取Class对象的方式有三种:
第一种:User.class;//这种方式不会执行User类中的静态代码块
第二种:user.getClass();//这种方式也不会执行静态代码块
第三种:Class.forName(完整类名);//这种方式会执行静态代码块
静态代码块是什么呀?和静态方法有什么区别呢?
静态代码快会在字节码加载到内存的时候进行执行,但是静态方法不会。
以上是关于2.User.class与user.getClass()方法的区别?或者说class是什么属性呢?的主要内容,如果未能解决你的问题,请参考以下文章