标题:关于extends的一个小问题
只看楼主
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
结帖率:78.95%
已结贴  问题点数:30 回复次数:9 
关于extends的一个小问题
package Object;

public class Detergent extends Cleanser{
    public void scrub()
    {
        append("Detegent.scurb()");
        super.scrub();
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Detergent x = new Detergent();
        x.dilute();
        x.scrub();
        System.out.println(x);
        System.out.println("askjdjasdljal");
        Cleanser.main(args);
    }

}
class Cleanser
{
    private String s = "Cleanser";
    public void append(String a)
    {
        s = s+a;
    }
    public void dilute()
    {
        append("dilute()");
    }
    public void scrub()
    {
        append("scurb()");
    }
    public String toString()
    {
        return s;
    }
    public static void main(String[] args)
    {
        Cleanser x = new Cleanser();
        x.dilute();
        x.scrub();
        System.out.println(x);
    }
}
搜索更多相关主题的帖子: Object package private method public 
2016-04-28 11:33
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
得分:0 
我这边是看JAVA编程思想上写的,但是我的输出
Cleanserdilute()scurb()
程序编译发现他只运行Cleanser类,而且我去掉Cleanser类中的main函数,编译器会报错
我文件的类名是Detergent
求助,谢谢
2016-04-28 11:36
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
得分:15 
楼主,谁给你的权力,把自己的包名定义为Object的?

本人QQ:775420425
2016-04-28 18:07
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
得分:0 
好吧
多谢了
2016-04-30 23:14
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
得分:0 
但是我换了一个package名
他还是原来的情况
求解
2016-04-30 23:25
不归散人
Rank: 2
等 级:论坛游民
帖 子:18
专家分:27
注 册:2016-2-17
得分:15 
楼主,你的两个类是写在一个文件里面的吗?文件名是什么
2016-05-04 09:47
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
得分:0 
JAVA_CLASS->src->OBJECT_O
2016-05-04 23:19
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
得分:0 
java工程下的
2016-05-04 23:19
glxl
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-5-27
得分:0 
你把两个类写到同一个文件里头了在Eclipse下是会提示你要执行那个类的。
2016-05-30 10:07
zzjvslove
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:46
专家分:197
注 册:2016-5-23
得分:0 
(1)java的关键字不要使用
(2)程序的运行结果是
D:\99.7_testj>javac Detergent.java
D:\99.7_testj>java Detergent
Cleanserdilute()Detegent.scurb()scurb()
askjdjasdljal
Cleanserdilute()scurb()

这个结果没有问题啊。第三句输出的是父类的调用父类的静态方法。
由子类去调用父类的方法、并且子类有重写的话,就会执行子类的方法。
拿本程序来说、如果子类去调用父类main方法、就会成死循环了。
如 Cleanser.main(args);  如改成  Detergent.main(args);      会成死循环。

请采纳
2016-05-30 11:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-464216-1-1.html




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

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