java .class与getClass的区别
2009-12-16 09:40
495 查看
.class其实是在java运行时就加载进去的
getClass()是运行程序时动态加载的
下面以例子说明:
首先建一个基类Baseclass
package classyongfa;
public class Baseclass {
private String height;
public String getHeight()
{
return height;
}
public void setHeight(String height)
{
this.height=height;
}
下面是继承Baseclass类Extendclass
package classyongfa;
public class Extendclass extends Baseclass {
private String width;
public String getWidth()
{
return width;
}
public void setWidth(String width)
{
this.width=width;
}
public static void main(String[] arg0)
{
Baseclass baseclass1=new Extendclass();
Baseclass baseclass2=new Baseclass();
System.out.println(baseclass1.getClass().getSimpleName());//实际运行的是继承类Extendclass
System.out.println(baseclass2.getClass().getSimpleName());//实际运行的是Baseclass
System.out.println(Baseclass.class.getSimpleName());//加载时类名
System.out.println(Extendclass.class.getSimpleName());//加载时类名
}
结果是
Extendclass
Baseclass
Baseclass
Extendclass
getClass()是运行程序时动态加载的
下面以例子说明:
首先建一个基类Baseclass
package classyongfa;
public class Baseclass {
private String height;
public String getHeight()
{
return height;
}
public void setHeight(String height)
{
this.height=height;
}
下面是继承Baseclass类Extendclass
package classyongfa;
public class Extendclass extends Baseclass {
private String width;
public String getWidth()
{
return width;
}
public void setWidth(String width)
{
this.width=width;
}
public static void main(String[] arg0)
{
Baseclass baseclass1=new Extendclass();
Baseclass baseclass2=new Baseclass();
System.out.println(baseclass1.getClass().getSimpleName());//实际运行的是继承类Extendclass
System.out.println(baseclass2.getClass().getSimpleName());//实际运行的是Baseclass
System.out.println(Baseclass.class.getSimpleName());//加载时类名
System.out.println(Extendclass.class.getSimpleName());//加载时类名
}
结果是
Extendclass
Baseclass
Baseclass
Extendclass
相关文章推荐
- java 笔记 Thread.currentThread().getContextClassLoader() 和 Class.getClassLoader()区别
- java中Class对象详解和类名.class, class.forName(), getClass()区别
- java中Class对象详解、类名.class, class.forName(), getClass()区别
- java中Class对象详解和类名.class, class.forName(), getClass()区别
- Java之——强转为Class与.getClass()区别
- java-----instanceof与getClass的区别
- java instanceof和getClass()的区别
- java-----instanceof与getClass的区别
- Java类名.class和getClass()区别
- 【Java】类名.class, class.forName(), getClass()区别
- java_class.getMethod 与 class.getDeclaredMethod的区别
- java Class getDeclaredFields() 与getFields()的区别
- Java中.getClass()和.class的区别
- Java中xxx.class.getResource和xxx.class.getClassLoader().getResource()的区别
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
- java .class与getClass的区别
- java-----instanceof与getClass的区别
- java .class与getClass的区别
- java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
- java中getClass( )和class()的联系和区别