Java动手动脑(二)】的更多相关文章

Java动手动脑——继承和多态 实验一 预估输出答案:100  200  201  202 输出结果:100  200  201  202 输出答案分析:100 创建parent类的对象,调用对象的方法 200 创建chlid类的对象,调用对象的方法 把child对象赋值给parent,输出child对象的值 强制转换parent为Child对象,输出 实验二 在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. public class food { int x; public f…
动手实验一:下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 先进行自我判断,得出结论后,运行TestCast.java实例代码,看看你的判断是否正确: java中基类对象不能当做子类对象使用,需要用强制转换来实现,子类对象变量=(子类名)基类对象名:错误的代码是d=m; d=c; 错误原因:类型不匹配:不能从 Mammal 转换为 Dog. 动手实验二:运行以下测试代码         上边的程序运行结…
---恢复内容开始--- 一.动手动脑:多层的异常捕获-1 阅读以下代码(CatchWho.java),写出程序运行结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 1.源码: public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException…
动手动脑一: EnumTest.java: 程序代码: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换 Size…
1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati…
1.完全"手写代码实现"随机数生成 动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. Modulus=231-1=int.MaxValue Multiplier=75=16807 C=0 当显示过231-2个数之后,才可能重复. 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int…
动手动脑1 完全“手写代码实现”随机数生成 纯随机数发生器…
1>类的对象实例化 由于main为静态类型,所以在调用函数时也必须调用静态方法,如上代码中的求平方数的静态方法,如何在静态main中调用非静态类的方法呢? 静态方法只能直接访问静态成员,无法访问非静态成员,如果想要访问费静态方法,则实例化该类对象,使用对象名.非静态方法()的方式来访问. 第一:创建类的对象 类名   对象名=new  类名( ); 第二:调用方法或变量 对象名.成员方法名(); 数据类型   变量名= 对象名.成员变量名; 2>编写一个方法,使用以上算法生成指定数目(比如10…
1.以下代码的输出结果是什么?为什么会有这个结果? int[] a = { 5, 7, 20 }; System.out.println("a数组中的元素:"); // 循环输出a数组的元素 for (int i = 0; i < a.length; i++) { System.out.print(a[i] + ","); } // 定义并初始化数组b,使用动态初始化 int[] b = new int[4]; // 输出b数组的长度 System.out.p…
一.以下代码的输出结果是什么? int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+Y+"=X+Y"); 为什么会有这样的输出结果? 答:结果X+Y=300;  300=X+Y; 二.为什么double类型的数值进行运算得不到数学上精确的结果? 答:double是浮点型,浮点数在计算机内部保存的实质是浮点数的计算公式,而不是确定的值,因此数值计算得不到精确的结果. 三.…