免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2062 | 回复: 5
打印 上一主题 下一主题

一个很初级的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-19 12:57 |只看该作者 |倒序浏览
import java.io.*;
public class test {

        /**
         * @param args
         */
        public static void main(String[] args)  throws myException{
                // TODO Auto-generated method stub
        try{
                show(3);
                show(-1);
        }catch (myException f){
                System.out.println(f.getMessage());
               
        }
        catch (ArithmeticException e){
              System.out.println(e.getMessage());
        }
        System.out.println("run over");
        }
static public void show(int x) throws myException{               
if (x<0){
                        throw new myException("不能小于0的参数");
                }
                System.out.println("x="+x+"传输的数据大于0");               
        }                        
                                
}
class myException extends Exception{
        public myException(String s){
                super(s);
        }
}

其中红色标示的语句中,如果去掉static,会编译不通过。为什么不能去掉作为一个实例方法,而要作为静态方法呢?请前辈帮帮我吧。

论坛徽章:
0
2 [报告]
发表于 2008-07-19 17:06 |只看该作者
编译器报错的时候讲的非常清楚了
不允许从静态上下文引用非静态的
其实是顺序问题,成员方法的存在是在对象存在的前提下的。
main是静态的,执行的时候,并没有test类的对象,你直接调用成员方法show的话,都没有test类对象上哪儿给你找show方法呢?
执意要non-static的话,            
   show(3);
   show(-1);
改成这样子:test tt = new test();
tt.show(3);
tt.show(-1);
有了对象,调用成员方法就不是问题了

论坛徽章:
0
3 [报告]
发表于 2008-07-20 09:41 |只看该作者
好新的新手,建议多看看书

论坛徽章:
0
4 [报告]
发表于 2008-07-21 10:25 |只看该作者
2楼的鸡公(基功)非常扎实,值得学习!!

论坛徽章:
0
5 [报告]
发表于 2008-07-21 16:22 |只看该作者
Oh My God!
有人光顾没有说话。
艾斯尼勒 来说句话。

论坛徽章:
0
6 [报告]
发表于 2008-07-22 14:10 |只看该作者
原帖由 nec-tokin 于 2008-7-21 16:22 发表
Oh My God!
有人光顾没有说话。
艾斯尼勒 来说句话。

不是已经说的很清楚了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP