Java 继承与多态实验

来源:互联网 发布:淘宝店铺导航条 css 编辑:程序博客网 时间:2024/05/18 18:53


实验讲义

 

上机题目一:试以Point类为例,尝试对Object类的clone()方法和equal()方法进行覆盖。

上机题目二:现在输入n个数字,以逗号分开、放入一个字符串中,然后按升序和降序排序,并显示排序结果。


第一个实验的代码

package com.whj.exam2;public class Text {public static void main(String[] args) throws CloneNotSupportedException {          Piont p=new Piont(8,6);          Piont q=(Piont)p.clone();             System.out.println(p);             System.out.println(q);             System.out.println(q==p);             System.out.println(q.equals(p));}}

package com.whj.exam2;public class Piont {      private int x;      private int y;public int getX() {return x;}public int getY() {return y;}public Piont(int x, int y) {super();this.x = x;this.y = y;}@Overrideprotected Object clone() throws CloneNotSupportedException {//异常化处理return new Piont(x,y);}@Overridepublic boolean equals(Object obj) {if(((Piont)obj).x==this.x&&((Piont)obj).y==this.y)      return true;else return false;}@Overridepublic String toString() {return x+" "+y;}      }
第一个实验主要是对object类中的equals(),clone(),tostring()类进行覆盖,覆盖中没有改变返回值的类型,所以我们就对他进行强制转换。

下面是第二个实验
package com.whj.exam2;import java.util.Arrays;public class NumerTest {public static void main(String[] args) {           String [] str=splitstr.split("8,6,12,19,11,17");//定义分离字符串的类           int []number=new int [str.length];           for(int i=0;i<str.length;i++)           {           number[i]=Integer.parseInt(str[i]);//把字符转化为整型数           }           Arrays.sort(number);//进行排序           for(int i=0;i<str.length;i++)           {           System.out.println(number[i]);           }           System.out.println();           for(int i=(str.length-1);i>=0;i--)           {           System.out.println(number[i]);           }}}
package com.whj.exam2;import java.util.StringTokenizer;//StringTokenizer 这个类 用来分割字符串public class splitstr {public static String[] split(String str) {if(str==null||str.trim().equals(""))//trim()方法是去掉字符串前后的空格;{return null;}StringTokenizer s1=new StringTokenizer(str,",");//标记分离的标准,遇到,就分离;(分隔符)String []s2=new String[s1.countTokens()];//计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数int i=0;while(s1.hasMoreTokens())//判断s1对象里的hasMoreTokens()方法是否有返回值(看有没有下一个匹配的字段){s2[i]=s1.nextToken();//nextToken() 用于返回下一个匹配的字段i++;}return s2;}}
做第二实验深刻感受到了 java语言与c语言的差别,java在写程序的时候,先是看api里面有没有我们需要的类,然后再查找里面的方法,而不是一开始就自己动手去写,用java还是有点不太适应,感觉java里面的类和方法真的好多,还有好多都不熟悉,还要好好努力啊!!

0 0