| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:大家帮我解释个程序,谢谢了
只看楼主 加入收藏
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:3 
大家帮我解释个程序,谢谢了
abstract class Shape{
    abstract void draw();
    abstract void erase();
    }
class Circle extends Shape{
    void draw(){
        System.out.println("I'm a circle");
        }
    void erase(){
        System.out.println("I'm circle s");
        }
    }
class Square extends Shape{
    void draw(){
        System.out.println("I'm a square");
        }
    void erase(){
        System.out.println("I'm square s");
        }
    }
class Triangle extends Shape{
    void draw(){
        System.out.println("I'm a Triangle");
        }
    void erase(){
        System.out.println("I'm Triangle s");
        }
    }
class huxiang{
    public static Shape randShape(){      //能帮我解释下这个方法吗?
        switch((int)(Math.random()*3)){
            default:System.out.println("hello");
            case 0:return new Circle();
            case 1:return new Square();
            case 2:return new Triangle();
            
            }
        }
     public static void main(String args[]){
        Shape[] s=new Shape[9];
        for(int i=0;i<s.length;i++){
            s[i]=randShape();
            s[i].draw();
            s[i].erase();
            }
        }
    }
搜索更多相关主题的帖子: 解释 
2010-07-19 21:30
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
收藏
得分:10 
我已经把关键部分打了注释,可以看看.有不明白的继续提问.
package hh;

/**
 * 一个抽象类表示形状,下面是三个形状的具体实现类,分别是圆,正方形,三角形
 * 这是一个多态学习的典型例子
* @author baifenghan
 *
 */
abstract class Shape {
    abstract void draw();

    abstract void erase();
}

class Circle extends Shape {
    void draw() {
        System.out.println("I'm a circle");
    }

    void erase() {
        System.out.println("I'm circle s");
    }
}

class Square extends Shape {
    void draw() {
        System.out.println("I'm a square");
    }

    void erase() {
        System.out.println("I'm square s");
    }
}

class Triangle extends Shape {
    void draw() {
        System.out.println("I'm a Triangle");
    }

    void erase() {
        System.out.println("I'm Triangle s");
    }
}

class huxiang1 {
    /**
     * 根据下面的解释,实际上这个方法就是随机生成一个形状的实例.
     * @return
     */
    public static Shape randShape() {
       //Math.random()会产生一个[0.0, 1.0)之间的输,那么乘3就会产生一个[0.0 ,3.0) 之间的一个double值
        //强制转换成int类型,在Java中采取数学中的去尾法,即就是只取得整数部分,那么(int) (Math.random() * 3)的
        //范围就是0, 1, 2
        switch ((int) (Math.random() * 3)) {
        default:
            System.out.println("hello");
        case 0:
            return new Circle();
        case 1:
            return new Square();
        case 2:
            return new Triangle();

        }
    }

    public static void main(String args[]) {
        Shape[] s = new Shape[9];
        for (int i = 0; i < s.length; i++) {
            s[i] = randShape();
            s[i].draw();
            s[i].erase();
        }
    }
}
2010-07-19 23:53
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
收藏
得分:0 
解释的非常清楚了,谢谢。
2010-07-21 22:14
快速回复:大家帮我解释个程序,谢谢了
数据加载中...
 
   



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

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