A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Sunday 中级黑马   /  2014-4-16 00:23  /  947 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.Date;

  2. public  class Test extends Date{

  3. public static void main(String[] args) {

  4. new Test().test();

  5. }

  6. public void test(){

  7. System.out.println(super.getClass().getName());//为什么这里用this和super结果都是Test?
  8.         }
  9. }

  10. //如果想获得Date怎么办??
复制代码

4 个回复

倒序浏览
import java.util.Date;

public  class Test extends Date{

public static void main(String[] args) {

new Test().test();

}

public void test(){

System.out.println(super.getClass().getName());//为什么这里用this和super结果都是Test?
        }
}

this
  this关键字:表示本类对象的引用
  哪个对象调用的,this就表示哪一个对象
  this用来区分成员变量和局部变量重名的情况
  this()语句,在构造方法之间调用
  this调用别的方法
然而 super 表示 子类引用父类的对象或者方法 在你的程序当中 getclass 是活获得当前类的类名 然而  你


System.out.println(super.getClass().getName());//为什么这里用this和super结果都是Test?

是在test这个类当中所以 输出结果是 Test

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 曹冬明 于 2014-4-16 01:35 编辑
  1. <div class="blockcode"><blockquote>import java.util.Date;

  2. public  class Test extends Date{

  3. public static void main(String[] args) {

  4. new Test().test();

  5. }

  6. public void test(){

  7. System.out.println(Test.class.getSuperClass().getName());//为什么这里用this和super结果都是Test?
  8.         }
  9. }

  10. //如果想获得Date怎么办??
复制代码

这样,你就可以得到父类名了,首先要获取本类的Class对象
回复 使用道具 举报
  1. import java.util.Date;

  2. public  class Test extends Date{

  3. public static void main(String[] args) {

  4. new Test().test();

  5. }

  6. public void test(){

  7. System.out.println(this.getClass().getSuperclass().getName());//这句你应该懂吧?
  8. System.out.println(super.getClass().getName());//这句等于是调用父类的getClass()方法,但是由于多态的存在,所以实际执行的还是this的getClass()方法,因为每个类都有getClass()方法。结果当然是本类
  9.         }
  10. }
复制代码
亲测可行

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
getClass()获取当前类,this代表当前类对象,super代表父类对象,
this.getClass().getSuperclass().getName()获取父类
super.getClass().getName()获取当前类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马