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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 惠晖 中级黑马   /  2012-11-12 12:57  /  1568 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 惠晖 于 2012-11-12 13:42 编辑

class NoValueException extends RuntimeException
{
        NovalueException(String message)
        {
                super(message);
        }
}

interface Shape
{
        void getArea();
}
class Rec implements Shape
{
        private int len,wid;
        Rec(int len,int wid)
        {
                if (len<=0 ||wid<=0)
                {
                        throw new NoValueException("非法直");
                }
                this.len=len;
                this.wid=wid;
        }
        public void getArea()
        {
                System.out.println(len*wid);
        }
               
}
class  ExceptionTest
{
        public static void main(String[] args)
        {
                Rec r =new Rec(3,-6);
                r.getArea();
                System.out.println("over");
        }
}
这里哪里错了啊

点评

先掌握基础 。  发表于 2012-11-12 15:33

7 个回复

倒序浏览
  1. interface Shape
  2. {
  3.         void getArea();
  4. }
  5. class Rec implements Shape
  6. {
  7.         private int len,wid;
  8.         Rec(int len,int wid)
  9.         {
  10.                 this.len=len;
  11.                 this.wid=wid;
  12.         }
  13.         public void getArea()
  14.         {
  15.                 System.out.println(len*wid);
  16.         }
  17.                
  18. }
  19. class  ExceptionTest3
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Rec r =new Rec(3,6);
  24.                 r.getArea();
  25.                 //System.out.println(len * wid); 变量len wid不存在
  26.         }
  27. }
复制代码
回复 使用道具 举报
  private int len,wid;   leng 和 wid 被你私有了 外界无法访问,要么更改访问权限,要么提供外界访问的方法

点评

看看下面的代码哪里错了啊  发表于 2012-11-12 13:31
class NoValueException extends RuntimeException { NovalueException(String message) { super(message); } } interface Shape { void getArea(); } class Rec implements Shape { priva...了?   发表于 2012-11-12 13:30

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
r.getArea();里面已经有了System.out.println(len * wid),就不要再写一遍了;

而且 ExceptionTest3类中也没有len和wid变量,肯定会报错了。。。
回复 使用道具 举报
class NoValueException extends RuntimeException
{
        NovalueException(String message)
        {
                super(message);
        }
}

interface Shape
{
        void getArea();
}
class Rec implements Shape
{
        private int len,wid;
        Rec(int len,int wid)
        {
                if (len<=0 ||wid<=0)
                {
                        throw new NoValueException("非法直");
                }
                this.len=len;
                this.wid=wid;
        }
        public void getArea()
        {
                System.out.println(len*wid);
        }
               
}
class  ExceptionTest
{
        public static void main(String[] args)
        {
                Rec r =new Rec(3,-6);
                r.getArea();
                System.out.println("over");
        }
}
这里哪里错了啊?
回复 使用道具 举报
private int len,wid;    变量被私有了而在下面方法中调用了,所以会出问题的。

1.jpg (10.43 KB, 下载次数: 21)

1.jpg
回复 使用道具 举报
惠晖 中级黑马 2012-11-12 13:30:23
7#
林晓泉 发表于 2012-11-12 13:05

class NoValueException extends RuntimeException
{
        NovalueException(String message)
        {
                super(message);
        }
}

interface Shape
{
        void getArea();
}
class Rec implements Shape
{
        private int len,wid;
        Rec(int len,int wid)
        {
                if (len<=0 ||wid<=0)
                {
                        throw new NoValueException("非法直");
                }
                this.len=len;
                this.wid=wid;
        }
        public void getArea()
        {
                System.out.println(len*wid);
        }
               
}
class  ExceptionTest
{
        public static void main(String[] args)
        {
                Rec r =new Rec(3,-6);
                r.getArea();
                System.out.println("over");
        }
}
这里哪里错了啊
回复 使用道具 举报
private int len,wid;  私有的变量应该被私有的方法调用,你定义的方法  public void getArea()
        {
                System.out.println(len*wid);
        }
               
是属于公有的,你需要改变一下定义方式

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马