| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:版主看到,请帮忙解决一下
取消只看楼主 加入收藏
lironghua
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-7
收藏
 问题点数:0 回复次数:1 
版主看到,请帮忙解决一下
请看一下这个程序
public class Person6
{
    static int count=0;
    protected String name;
    protected int age;
    public Person6(String n1,int a1)
    {
        name = n1;
        age = a1;
        this.count++;                          //超类对象计数
    }
    public String toString()
    {
        return this.name+", "+this.age;
    }
    public void print()
    {
        System.out.println("本类名="+this.getClass().getName()+"  "+
             "超类名="+this.getClass().getSuperclass().getName()+"  ");
        System.out.print("Person6.count="+this.count+"  ");
        System.out.print("Student6.count="+Student6.count+"  ");
        Object s1=this;
        if (s1 instanceof Person6)             //判断对象属于哪个类
            System.out.println(s1.toString()+"是Person6类对象。");
        if (s1 instanceof Student6)
            System.out.println(s1.toString()+"是Student6类对象。");
    }
}
class Student6 extends  Person6
{
    static int count=0;                        //隐藏了超类的count
    protected String dept;
    protected Student6(String n1,int a1,String d1)
    {
        super(n1,a1);                          //调用超类的构造方法
        dept = d1;
        this.count++;                          //子类对象计数
    }   
    public String toString()                   //覆盖超类的同名方法
    {
        return super.toString() +", " + dept;  //调用超类的同名方法
    }
    public void print()
    {
        super.print();                         //调用超类的方法
        System.out.println("super.count = "+super.count); //引用超类变量
        System.out.println("this.count  = "+this.count);
    }
    public static void main(String args[])
    {
        Person6 p1 = new Person6("王小明",21) ;
        p1.print();
        Student6 s1 = new Student6("陈小瑞",19,"计算机系");
        s1.print();
    }
}

当调用完s1.print()后person6中的System.out.print("Person6.count="+this.count+"  ");中的this为什么是指向person6这个类,而System.out.println("本类名="+this.getClass().getName()+"  "+
             "超类名="+this.getClass().getSuperclass().getName()+"  ");和 Object s1=this;
中的this却是指向student5这个类,我想问一下哪位大哥,这里的几个this 有何不同
2005-09-23 22:16
lironghua
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-7
收藏
得分:0 
多谢版主提示,,以后应该多向你们学习
2005-09-24 11:52
快速回复:版主看到,请帮忙解决一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033226 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved