⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cardhand.java

📁 绝对经典!好动西和大家一起分享 呵呵 你们不应该如此限制的,不好
💻 JAVA
字号:
/* CardHand.java - an example to show the differences among * reference copy, shallow copy, and deep copy. * Copyright (c) 2001, Bruce E. Wampler */public class CardHand implements Cloneable{    private Card c1;            // A CardHand has 2 cards    private Card c2;        public CardHand(Card cd1, Card cd2)    {        c1 = cd1; c2 = cd2;    }        public String toString()    {        return "c1:" + c1 + ","+" c2:" + c2;    }// **** UNCOMMENT the clone method for SHALLOW and DEEP COPY//      // override Object.clone()//      public Object clone() throws CloneNotSupportedException//      {//          // To clone, first shallow clone whole object.//          CardHand c = (CardHand) super.clone();// // **** UNCOMMENT next THREE line for DEEP COPY ONLY// //         // now clone the deep parts// //         c.c1 = (Card) c1.clone();// //         c.c2 = (Card) c2.clone();//          return c;//      }        static void main(String args[])                throws CloneNotSupportedException    {        Card newCard = new Card(Card.HEART,7);        CardHand origHand =           new CardHand(new Card(Card.SPADE, 1),                        new Card(Card.SPADE, 13));// **** UNCOMMENT next 3 lines for copy by reference ****        CardHand saveHand = origHand;        System.out.println("\n**** REFERENCE COPY ****\n\n"                + "BEFORE: saveHand = origHand; :\n"// **** UNCOMMENT next 3 lines for SHALLOW COPY ****//        CardHand saveHand = (CardHand) origHand.clone();//        System.out.println("\n**** SHALLOW COPY ****\n\n"//                + "BEFORE: saveHand = origHand.clone(); :\n"// **** UNCOMMENT next 3 lines for DEEP COPY version ****//        CardHand saveHand = (CardHand) origHand.clone();//        System.out.println("\n**** DEEP COPY ****\n\n"//                + "BEFORE: saveHand = origHand.clone(); :\n"                + "\n           origHand is " + origHand                + "\n           saveHand is " + saveHand                + "\n           newCard  is " + newCard + "\n");                        origHand.c1 = newCard;        origHand.c2.setCard(Card.DIAMOND,4);        newCard.setCard(Card.CLUB, 2);        System.out.println(                  "AFTER: origHand.c1 = newCard;\n"                + "       origHand.c2.setCard(DIAMOND,4);\n"                + "       newCard.setCard(CLUB,2); :\n"                + "\n           origHand is " + origHand                + "\n           saveHand is " + saveHand                + "\n           newCard  is " + newCard + "\n");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -