how to see the class name containing the actual code
1 2 3 4 5 6 7
   | package a;
public class A  {
  public String toString () {
    // return"I am an a.A"; is too primitive ;) 
    return"I am an" + getClass (). getName(); // should give"a.A"
  }
}  | 
 
——
1 2 3 4 5 6 7
   | package a;
public class X  extends A  {
  public static void main (String[] args ) {
    X test  = new X ();
    System. out. println(test );  // returns"I am an a.X"
  }
}  | 
 
我还没有试过用this.getClass()和super.getClass()。我怎么能把这个类的名称在toString()和()的编码getclass是真的吗?(一)
这只是我的一点简单的样品,就是尽量避免硬编码在文件名称中的第一类(a.java)
		
		
- 已在此处答复:链接
 
- @编码员ACJHP:不是真的,或者我没有找到它。但问题是不同的。
 
 
	  
1 2 3 4 5 6
   | package a;
public class A  {
  public String toString () {
    return"I am an" + A. class. getName();
  }
}  | 
 
   应该做的伎俩。   P / < >   
   改变:   P / < >
   到的   P / < >
		
		
- this.class不起作用-"类文本是一个表达式,由类、接口、数组或基元类型的名称后跟`.'和标记类组成。它的计算结果是类类型的对象,命名类型(或void)的类对象。"
 
 
	  
 
   就在所有的超级iterate   P / < >
1 2 3 4 5 6
   | public String toString () {
  Class cl  = getClass ();
  while (cl. getSuperclass() != Object. class) 
    cl  = cl. getSuperclass();
  return cl. getName();
}  |