谢谢,求救。Java出现找不到主方法,将主方法定义的问题

publicclassRect{doublewidth;doubleheight;doublegetArea(){returnwidth*height;}}classEx... public class Rect {
double width;
double height;
double getArea(){
return width*height;
}
}
class Example1_2{
public static void main(String[] args) {
Rect rectangle;
rectangle=new Rect();
rectangle.width=1.819;
rectangle.height=1.5;
double area=rectangle.getArea();
System.out.println("矩形的面积:"+area);
}
}
我保存了名为Rect.java,也出现了Example1_2.class可为什么还是出现下面的错误
展开
 我来答
吼不动
2014-09-15 · TA获得超过193个赞
知道答主
回答量:44
采纳率:100%
帮助的人:28.3万
展开全部
因为你这个源文件是Rect.java ,内容中是 public Rect ,也就是说你这个文件中“全局”对外可见的类是Rect;而Example1_2类的可见性是 “包” 级别的。

建议你把文件名改为 Example1_2.java , 然后把Example1_2 改为 public Example1_2 ; 而把Rect前的public 去掉。

有关Java中 类的可见性 的定义建议你找本Java基础的书籍看看。

简单说明如下:
1. 类的可见性由类名前的关键字决定: public;友好的(无关键字);protected;private;
2. public:公开类,在包内,包外都可见,是可见性级别最高的;
3. 友好的:也是默认的安全级别,包外不可见,包内可见.用在内部类同protected级别相同.
4. protected:保护级,只能用于内部类.对类及子类(包内子类,包外子类不可见)和包内其它类可见.
5. private:私有级,只能用于内部类,只对类本身可见。
6. 一个Java类文件中必须有且只能有一个public修饰的外部类
7.可调用的main函数必须处于“全局”可见域内,如6条所说的public修饰的外部类;也可以是public修饰的外部类的内部public类
夏止忧伤
2014-09-15 · TA获得超过200个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:104万
展开全部
public static void main(String[] args) {}属于程序入口的主方法,所以这个类应该放在public 修饰的的类中,你的class Example1_2{}没有加public修饰,所以会报这个错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不再放弃1012
2014-09-15 · TA获得超过207个赞
知道小有建树答主
回答量:111
采纳率:100%
帮助的人:52.7万
展开全部
JAVA只能有一个public,而这个文件名要与类名相同,你执行这段代码后,会在类Rect中查找主方法。而你将主方法定义在类Example1_2,而不是定义在类Rect中,所以找不到主方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjm0506
2014-09-15 · TA获得超过147个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:175万
展开全部
public要放在主类前面,你这的话main在Example1_2所以应该是 public class Example1_2、class Rect(去了这个类的public)文件名改为Example1_2.java就对了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xinmei1991
2014-09-15
知道答主
回答量:17
采纳率:0%
帮助的人:2.2万
展开全部
保存名为Exampie1_2.java试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式