class叫做“类字面量”,因class是关键字, 所以class编译时确定,getclass()运行时根据实际实例确定。
String.class 是能对类名的引用取得在内存中该类型class对象的引用, 
new String().getClass() 是通过实例对象取得在内存中该实际类型class对象的引用。
这个方法是从java.lang.Object类继承过来的。
getClass()是动态而且是final的。

看代码:

1,抽象类:

package com.chinacreator.yxg.bean;
public abstract class PersonInfo {
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

2,实现类:

package com.chinacreator.yxg.bean;
public class ManInfo extends PersonInfo {
private int height;
public int getHeight() {
return height;
} public void setHeight(int height) {
this.height = height;
} public static void main(String[] args) {
PersonInfo personInfo = new ManInfo();
System.out.println(personInfo.getClass().getName());
System.out.println(PersonInfo.class.getName());
}
}

3,运行结果:

com.chinacreator.yxg.bean.ManInfo
com.chinacreator.yxg.bean.PersonInfo

类名.class和getClass()区别的更多相关文章

  1. Java类名.class和getClass()区别

    区别 类名.class叫做“类字面量”,因class是关键字, 所以类名.class编译时确定. getclass()运行时根据实际实例确定,getClass()是动态而且是final的. Strin ...

  2. java中Class对象详解和类名.class, class.forName(), getClass()区别

    一直在想.class和.getClass()的区别,思索良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享. 原来为就是涉及到Java的反射----- Java反射学习 所谓反射,可以 ...

  3. 类名.class, class.forName(), getClass()区别

    1:Class cl=A.class; JVM将使用类A的类装载器, 将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象. 2:Class cl=对象引 ...

  4. java中类名.class、实例.getclass()区别

    import java.util.HashSet; import java.util.Iterator; /** * Created by GOD on 2016/1/23. * Class对象的生成 ...

  5. 【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别

    Class对象的生成方式如下: 1.类名.class           说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Cla ...

  6. java中类名.class, class.forName(), getClass()区别

    Class对象的生成方式如下: 1.类名.class           说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Cla ...

  7. java反射中Class对象详解和类名.class, class.forName(), getClass()区别

    1.获得类型类 可以看到,对象a是A的一个实例,A是某一个类,在if语句中使用a.getClass()返回的结果正是类A的类型类,在Java中表示一个特定类型的类型类可以用“类型.class”的方式获 ...

  8. Instance of 和getClass()区别概述

    instance of 运算符和getClass()方法都可以用来检查一个对象所属的类.instance of 运算符仅测试一个对象的类型:getClass()方法与==或!=结合使用,测试两个对象是 ...

  9. 干货 | Java中获取类名的3种方法!

    获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonicalName() 返回的是更容易理解的类名表示. g ...

随机推荐

  1. C#.NET常见问题(FAQ)-如何使用变量访问控件属性

    不管哪种类型的控件,可以用下面这种强制转换和Controls.Find的方法来读写控件的属性 //我在界面上做了三个picturebox控件 PictureBox p; //注意索引必须从1开始,并且 ...

  2. C语言代码复习笔记:第二章

    输出星星 #include <stdio.h> void printStart( int num ) { ) { printf("*"); }; } int main( ...

  3. Navicat标识为灰

    Navicat Premium作为一种通用数据管理工具,非常受迎接.最近,又遇到一个小问题.即为了实现自增,需要设置主键标识,而在Navicat中发现其为灰色,不可用. 原因:Navicat不允许设置 ...

  4. Jquery——hover与toggle

    hover方法的语法结构为:hover(enter,leave) hover()当鼠标移动到元素上时,会触发第一个方法,当鼠标移开的时候会触发第二个方法 复制代码 <html> <h ...

  5. Redhat、Centos等系统配置进行网络配置的方法

    配置文件(Redhat) /etc/sysconfig/network-scripts/* : 网卡/etc/sysconfig/network-scripts/ifcfg-eth0/etc/reso ...

  6. Nginx 访问日志分析

    0:Nginx日志格式配置 # vim nginx.conf ## # Logging Settings ## log_format access '$remote_addr - $remote_us ...

  7. Ubuntu 12.04.1 mysql从5.5升级到5.6

    Ubuntu 12.04.1 mysql从5.5升级到5.6 1 2 3 4 5 apt-cache search mysql-server sudo  apt-add-repository ppa: ...

  8. python 3使用binascii方法的报错解决

    环境是python 3 问题: 使用binascii方法一直出现报错TypeError: a bytes-like object is required, not 'str' #coding: utf ...

  9. 发现一个ReactNative大神

    传送门: RN使用技巧:http://www.jianshu.com/p/2f575cc35780 RN 进阶技巧:http://www.jianshu.com/p/b877115fff1b 亮点有: ...

  10. C/C++与Java的区别

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html     C/C++:             C/C++代码——编译(不同的系统编译出不 ...