献给你---比我还菜的孩子们(二)
来源:互联网 发布:粉笔直播课mac客户端 编辑:程序博客网 时间:2024/04/28 13:44
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>我只写自己在学习JAVA的过程中遇到的问题,希望我遇到的问题都是共性问题,那样就可以帮助到更多的人,借而推动中国软件事业的发展速度,哈哈!!!!!真没边~最重要的是,我可以复习一次,呵呵,我更喜欢把自己写的自私一些,实际一些...这次写一下我个人在写比较两个数的大小这个类的时候的一点思考.该类是这样的:public class ChooseMax{ public static void main(String[] args) { int Number1,Number2; int MaxNumber; System.out.println("Please Input the 1st Number:"); Number1=MyInput.readInt(); System.out.println("Please Input the 2nd Number:"); Number2=MyInput.readInt(); MaxNumber=max(Number1,Number2); System.out.println("The Max Number Between Number1 and Number2 is " MaxNumber); } static int max(int num1,int num2) //这个东西怎么写到外面? { if(num1>num2) return num1; else return num2; }} 如注释中写到的问题,在C语言里引用函数我会,写在里面写在外面我都会,但是在JAVA里,写在里面它可以直接当作方法引用,如果写在外面,对它该如何引用?我做了这样的尝试,写了这样一个类:public class LargerOne{ public static void main(String[] args) { int Number1,Number2; System.out.println("Please Input the 1st Number:"); Number1=MyInput.readInt(); System.out.println("Please Input the 2nd Number:"); Number2=MyInput.readInt(); System.out.println("The Max Number Between Number1 and Number2 is " Max(Number1,Number2)); }} 很显然的最后一条语句是在引用一个叫做Max的东西,为什么叫它做"东西",因为我开始并没有弄清楚它到底是个什么东西.开始的时候我把它理解为一个方法,我认为在里面它是方法,写到外面它仍然是个方法.于是在外面(同目录下)我写了这样一个类:public class Max{ public static int Max(int Number1,int Number2) { if(Number1>Number2) return Number1; else return Number2; }}请注意这个类的头部:public class Max{ public static int Max(int Number1,int Number2) {两个Max,这就是我忽略的东西,我引用的究竟是上面的Max还是下面的?当然是下面的!因为我要做比较这个方法嘛!但是我在LargerOne里调用的时候怎么找到这个方法?象我那样调用,调用的是Max这个类,而没有指定要这个类里的哪个方法,编译器功能没那么强大,不能钻到你的脑子里看看你在想什么,看看你想用哪个方法,即使这个类里只有Max一个方法.....这就是不用担心电脑会超过人脑的原因,因为它总是要受人支配的....OK,这个道理我明白了,那咱们就支配支配它!很简单,刚才我调用Max你不是找不到吗?我说清楚点不就OK了?LargerOne里最后一条语句改成:System.out.println("The Max Number Between Number1 and Number2 is " Max.Max(Number1,Number2));能看出来吧?只是在Max后面加一个.Max这样我们就很清楚的告诉编译器,我要调用Max类中的Max方法.它要再不明白咋回事儿,那你必须SAY BYBY TO IT了!总结一下,在JAVA里,调用方法必须指明该方法所在的类(对象),在ChooseMax这个类里我引用max这个方法没有指明它所在的类,是因为它和main方法存在于一个类中.其实为了清楚起见,同一个类的两个方法之间的调用也应该习惯性的指明this.xxx(xxx),如ChooseMax中调用max的MaxNumber=max(Number1,Number2)写明白些应该是MaxNumber=this.max(Number1,Number2)(这点是书上写的,我个人没有做验证.)就这样了,归根结底,方法的调用需要说明其所在的类(对象).