动手动脑(lesson 8)】的更多相关文章

一. 上面程序在不注释第一个i/j会出错,这是因为程序会顺序运行,在运行到try之前就已经出错,因此不会跳到异常处理. 异常处理基础知识: 二. 三. 运行结果: 运行结果: 四. 运行结果: 总结:try catch语句遵循就近原则,这与if else语句类似,而如果try语句不执行,则与他配对的finally语句同样也不会执行.当多个嵌套try时,在遇到第一个try内的异常后,接下来的都不会运行. 五. 总结:不会,如果在执行前执行了退出语句会直接结束运行. 六. 答:…
一.继承条件下的构造方法调用 运行结果: 二. 答:构造函数的主要作用是初始化环境,子类是继承的父类,也就是说父类中有的子类全都有,而子类中有的父类不一定有,因此子类运行会调用父类构造函数,而父类不可能运行子类构造函数. 三. 四. 答:当没有指明继承类时,会自动继承最大的父类object类,因此输出的也是object类的地址. 五. 六. 七. 八.多态概念知识点 九. 十. m=d; d=(Dog)m; c=(Cat)m;正确 其他错误. 因为子类对象可以直接赋给基类变量,而积累对象必须通过…
一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException { public static void main(String[] a) { double i=-1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception("Hello.E…
一.请运行以下实例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? (1)在Java中,内容相同的字符常量("Hello")只保存一份以节约内存,所以s0,s1,s2实际上引用的同一个对象. (2)编译器在编译s2一句时,会去掉"+"号,直接把两个字符串连接起来得一个字符串("Hello").这种优化工作由Java编译器自动完成. (3)当直接使用new关键字创建字符串对象时,虽然值一致(都是&qu…
一.如何不使用static来进行调用函数? 1.自己定义的不需要都是static,但是要在主函数中调用就需要static了,因为main是静态 的,在类加载时就加载了.如果想用又不加可以吧自己写的方法写在一个类中调用就行.主函数一般也只是调用不做数据处理. 2.static方法是在编译的时候确定的,在类装入内存的时候也同时装入内存了.而非static方法是在类的实例化的时候装入内存的,其必须依赖于类的实例. 实例在装入堆栈的时候是会附加上指向method area的指针,所以可以在非静态方法中调…
动手动脑1:为什么不管是否有异常发生,finally语句块中的语句始终保证被执行? 我们在写代码时,如果finally块中的代码过多会导致字节码条数"膨胀",因为finally中的字节码会被"复制"到try块和所有的catch块中.finally语句块主要用于解决资源泄露问题,它位于catch语句块之后,JVM保证它们一定执行. 动手动脑2:CatchWho.java,写出程序运行结果: ArrayIndexOutOfBoundsException/内层try-ca…
动手动脑:请自行编写代码测试以下特性:在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. 1.源代码: package Work; class A{ public A(){ System.out.println("Class A."); } public A(String string){ System.out.println("Class A."+string); }} class B extends A{ public B(){ super(&qu…
 一.随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 1.设计思路:首先生成10个随机数,然后存放至长度至少是10的数组中,然后计算10个随机数的和,存放至数组的最后,最后输出,用对话框显示. 2.程序流程图: 3.源程序代码: package Work;   import javax.swing.JOptionPane; import javax.swing.JTextArea;   public class Work {   publ…
动手动脑1.当JAVA里定义的函数中去掉static后,怎么办?(如下程序,将square()函数的static去掉) public class SquareIntTest { public static void main(String[] args) { int result; for (int x = 1; x <= 10; x++) { result = square(x); // Math库中也提供了求平方数的方法 //result=(int)Math.pow(x,2); System…
1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati…