目录

理论

实例


理论

Java中有个java.lang.Class,是java虚拟机用的。把每一个类当成一个对象,放到java虚拟机里面,这是C/C++中没有的。

类是对象的抽象,类是java.lang.Class类抽象的抽象。

java.lang.Class的实例是Java中开发者创建的类,对象是开发者创建类的实例。

这里个人觉得是因为Java跑起来需要Java虚拟机,所以在C/C++的基础上再套一层。

实例

源码如下:‘

package my;class Foo{public void print() {System.out.println("Foo print");}
}public class ClassDemo {public static void main(String[] args) {Foo foo1 = new Foo();//方法一@SuppressWarnings("rawtypes")Class c1 = Foo.class;//方法二@SuppressWarnings("rawtypes")Class c2 = foo1.getClass();//方法三@SuppressWarnings("rawtypes")Class c3 = null;try {c3 = Class.forName("my.Foo");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//创建对象try {Foo foo = (Foo)c1.newInstance();} catch (InstantiationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(c2 == c3);}}

运行截图如下:

这里有三种方式得到Class类

方式一:任何一个类都有一个隐含的静态成员变量Class

方式二:以及知道该类对象通过getClass方法

方式三:通过Class中的forName创建实例

这里可以通过类类型创建该类的实例。如上面的

Foo foo = (Foo)c1.newInstance();

这里需要无参的构造函数

Java中java.lang.Class的初步学习相关推荐

  1. Java中如何创建自定义的注解学习笔记(MD版)

    概要 Java中如何创建自定义的注解学习笔记(MD版). 博客 博客地址:IT老兵驿站. 前言 记得这篇笔记还是在泉州的龙玲酒店记录的,是一个周六的晚上,坐飞机从上海到泉州,从笔记中能勾起一些旅游的回 ...

  2. Java中接口、抽象类与内部类学习

    2019独角兽企业重金招聘Python工程师标准>>> Java中接口.抽象类与内部类学习 接口与内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类和抽象方法 抽象方 ...

  3. 12月29日--Java中有关类与对象的学习记录

    1.12月29日第一课记录 Java中有关类与对象的学习记录 一.基本概念部分 1.类:具有相同.相似的属性.特征.行为方式以及功能的一类事物的总称 (举例:一类用户,如淘宝用户) 类是对象的模板 是 ...

  4. Java中反射机制(Reflection)学习

    Java语言的反射机制初步学习 首先看下基本概念: (一)在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任 意一个方法?答案是肯定的.这种动态获 ...

  5. java中none applicable_Java线程使用技巧学习(二)

    进阶篇 3.线程本地存储 这个和前面提到的两个略有不同.ThreadLocal是在Thread类之外实现的一个功能(java.lang.ThreadLocal),但它会为每个线程分别存储一份唯一的数据 ...

  6. java中的枚举类与注解学习笔记

    java中的枚举和注解 01.枚举类的使用 1.1.枚举类的理解 1.2.自定义枚举类 1.3.使用enum关键字定义枚举类 1.4.Enum类中的常用方法 1.5.使用enum关键字定义的枚举类实现 ...

  7. 面试官:说说Java中java.lang.Void和void有什么作用和区别?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入皮皮专属交流群 来源:http://suo.im/5p28k2 void关 ...

  8. java中集合的模型特点_Java 学习笔记(十四)集合

    集合 在开发的时候,如果需要存储多个数据,可以使用数组,不过数据是固定长度的,如果需要存储可变长度的多个数据,可以使用集合.集合提供存储空间可变的存储类型,存储的容量可以实时改变 集合分类 Colle ...

  9. Java中的do-while循环——通过示例学习Java编程(11)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=22&cid=0 在上一篇教程中,我们讨论了w ...

最新文章

  1. 《机器人学经典教程》——2.3 人工智能
  2. Alpha 冲刺 —— 十分之八
  3. Qt creator5.7 OpenCV249之高斯滤波(含源码下载)
  4. 库克跟乔布斯差几代iPhone? 解读iPhone十年变与不变
  5. C++的reinterpret_cast
  6. 关于2014年上半年全国计算机等级考试有关事宜的通知,关于2014年上半年全国计算机等级考试报名的通知...
  7. UnityShader20:CommandBuffer初见(上)
  8. python字符串操作方法_python字符串常用操作方法
  9. MySQL 分区表——《高性能MySQL》
  10. 【转帖】GBase 数据库
  11. 小米科技面试题-互联网老辛整理
  12. python函数写法_python函数的写法和调用
  13. 室内设计优美语句_赞美家装设计师的句子
  14. 基于双月数据集利用感知层进行分类
  15. openstack上传镜像
  16. 2020博客之星年度总评选,我来啦
  17. 在linux中DATAX和DATAX-WEB安装指引
  18. 【Office】三件套之Word套路
  19. vMotion及Storage vMotion配置
  20. 证明:旋转矩阵是正交矩阵

热门文章

  1. 好好学一遍JavaScript 笔记(一)
  2. 超适合小白的python新手教程
  3. 学C++的你今天鄙视PHP了吗?
  4. 今天的绿得像碧玉的 飞鸽
  5. 好的飞鸽传书2007对于对外的API
  6. 飞鸽传书的这一新的通信方式采用云技术
  7. 了结对编程和飞鸽传书
  8. 談JS面向對象【靜態與非靜態類】
  9. 微软OOXML正式成为国际标准 更名为OXML
  10. 我看中国软件---问题篇