黑马程序员技术交流社区
标题:
这里的代码哪里错了啊
[打印本页]
作者:
惠晖
时间:
2012-11-12 12:57
标题:
这里的代码哪里错了啊
本帖最后由 惠晖 于 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 13:05
interface Shape
{
void getArea();
}
class Rec implements Shape
{
private int len,wid;
Rec(int len,int wid)
{
this.len=len;
this.wid=wid;
}
public void getArea()
{
System.out.println(len*wid);
}
}
class ExceptionTest3
{
public static void main(String[] args)
{
Rec r =new Rec(3,6);
r.getArea();
//System.out.println(len * wid); 变量len wid不存在
}
}
复制代码
作者:
邹海洋
时间:
2012-11-12 13:09
private int len,wid; leng 和 wid 被你私有了 外界无法访问,要么更改访问权限,要么提供外界访问的方法
作者:
葛旭东
时间:
2012-11-12 13:10
r.getArea();里面已经有了System.out.println(len * wid),就不要再写一遍了;
而且 ExceptionTest3类中也没有len和wid变量,肯定会报错了。。。
作者:
惠晖
时间:
2012-11-12 13:24
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");
}
}
这里哪里错了啊?
作者:
聽聽我dē❤
时间:
2012-11-12 13:29
private int len,wid; 变量被私有了而在下面方法中调用了,所以会出问题的。
1.jpg
(10.43 KB, 下载次数: 21)
下载附件
2012-11-12 13:27 上传
作者:
惠晖
时间:
2012-11-12 13:30
林晓泉 发表于 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");
}
}
这里哪里错了啊
作者:
被遗弃者
时间:
2012-11-12 14:40
private int len,wid; 私有的变量应该被私有的方法调用,你定义的方法 public void getArea()
{
System.out.println(len*wid);
}
是属于公有的,你需要改变一下定义方式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2