黑马程序员-Java例题分析
来源:互联网 发布:一键领取cf装备源码 编辑:程序博客网 时间:2024/04/28 00:59
------- android培训、java培训、期待与您交流! ----------
第一题:写出下列程序的结果
代码如下:
class Demo{public static void func(){try{throw new Exception();}finally{System.out.println("B");}}public static void main(String[] args){try{func();System.out.println("A");}catch(Exception e){System.out.println("C");}System.out.println("D");}}
结果:编译失败,因为在func函数中抛出了Exception异常而函数上却没有声明,所以编译失败
假设在func()函数上加上了 throws Exception的话,那么程序的运行结果就是:
打印B → C → D,下面是执行流程图:
第二题:写出程序结果
程序代码如下:
class Test{Test(){System.out.println("Test");}}class Demo extends Test{Demo(){System.out.println("Demo");}public static void main(String[] args){new Demo();new Test();}}
程序运行结果:
打印: Tset → Demo → Test
考的子类的实例化过程。
下面是流程分析图:
第三题:写出程序结果
代码如下:
interface A{} class B implements A{public String func(){return "func";}}class Demo{public static void main(String[] args){A a=new B();System.out.println(a.func());}}
结果:编译失败,因为 interface A 没有定义func方法
如果在 interface A中定义func方法的话,程序执行结果是:
打印 “func”
父类引用指向子类对象,func()返回的是文本”func”,所以程序是打印”func”
第四题:写出程序结果
代码如下:
class Fu{boolean show(char a){System.out.println(a);return true;}}class Demo extends Fu{public static void main(String[] args){int i=0;Fu f=new Demo();Demo d=new Demo();for(f.show('A'); f.show('B')&&(i<2);f.show('C')){i++;d.show('D');}}boolean show(char a){System.out.println(a);return false;}}
程序运行结果:
打印: A → B
分析:
Fu f =new Demo(); //这里是穆雷引用指向子类对象,所以运行时是运行Demo里的show();
而Demo里的show返回的是flase
所以for循环的流程是 :
先执行了f.show('A'); 然后执行了f.show('B') 由于这里返回了false ,所以for循环结束,结果:
f.show('B')
打印: A → B
第五题:写出程序结果
代码如下:
interface A{}class B implements A{public String test(){return "yes";}}class Demo{static A get(){return new B();}public static void main(String[] args){A a=get();System.out.println(a.test());}}
程序结果: 编译失败,因为接口A中没有定义test方法,如果给接口A定义test方法的话
编译成功,程序打印:"yes"
0 0
- 黑马程序员-Java例题分析
- “黑马程序员”~线程例题
- 黑马程序员--Java语法基础中的例题和思考题
- 黑马程序员_银行调度系统例题
- 黑马程序员-java面向对象问题分析
- 黑马程序员——Java内存分析
- 黑马程序员--java反射机制分析
- Java程序员笔试经典例题
- Java程序员笔试经典例题
- 《Java程序员面试宝典》P99例题3的一个问题分析
- 黑马程序员---内存分析
- 黑马程序员——关于集合的例题
- 黑马程序员——java编程String分析
- 黑马程序员---java面向对象分析与设计
- 黑马程序员-----java提高面向对象分析总结
- 黑马程序员——java程序内存分析
- 黑马程序员——Java学习之扑克牌程序分析
- 黑马程序员——Java学习之多线程分析
- JS方法: appendChild()
- UML中几种重要的图
- 内存管理
- LRUCache
- 人脸检测 训练心得
- 黑马程序员-Java例题分析
- 伟哥忽然听见同样健康与苦与
- 人脸检测 训练方法
- oracle10G em dbconsole无法启动
- C学习笔记——malloc内存分配
- Evaluate Reverse Polish Notation--逆波兰式求值
- POJ2388#快排水题
- cc150:从一个未排序的链表中移除重复项
- 解决加载图片OOM 方法汇总