java经典考题
来源:互联网 发布:腾讯企业域名邮箱 编辑:程序博客网 时间:2024/05/22 03:20
1、通过method方法只输出 "a=100 b=100"
2)当a、b为基本类型时,例如int,method的写法如下
3、最简单最无耻也不用区分类型的方法
public static void main(string[] args){a=10;b=10;method(a,b);sysout("a="+a);sysout("b="+b);}
2、分析
表面上看,这个考的是值传递和引用传递,当变量为基本类型时,考的是值传递,这个时候常规方法是无解的,只能另辟蹊径:修改输出方法,写出下边的方法1)有加分,说明你对java的基础理解的很深。当变量的基本类型为对象类型时,考的是引用传递,这个时候常规方法是有解的,但直接给引用赋值不对,原因是变量不是类的变量而是main方法的变量(main方法不属于类而是程序的入口),这个考察的是java反射,写出下边的方法2)加分很多。如果是直接写出下边的第三个方法且不写出原因,那么只能说明java基础一般。
1)当a、b为基本类型时,例如int,method的写法如下
public static void method(int a, int b) { PrintStream ps = new PrintStream(System.out) { @Override public void println(String x) { if ("a=10".equals(x)) { x = "a=100"; } else { x = "b=200"; } super.println(x); } }; System.setOut(ps); }
2)当a、b为基本类型时,例如int,method的写法如下
public static void method(Integer a,Integer b) throws Exception{ Field field = a.getClass().getDeclaredField("value"); field.setAccessible(true); field.set(a, 100); Field fieldb = b.getClass().getDeclaredField("value"); fieldb.setAccessible(true); fieldb.set(b, 200); }
3、最简单最无耻也不用区分类型的方法
public static void method(a,b){ System.out.println("a="+100); System.out.println("b="+100); System.exit(0);}
0 0
- java经典考题
- J2EE 各种经典java面试必考题。。
- Java考题
- Java 考题
- java 常见考题
- java面试考题集锦
- java web考题
- android Java 笔试考题
- android Java 笔试考题
- java string方面考题
- android Java 笔试考题
- java考题终极版
- C++ 面试经典考题1个
- 关于浮动元素的经典考题
- 考题
- 考题
- 考题
- 考题
- 移动前端常用代码
- Qt之多线程-QMutex
- 51nod 1431 快乐排队
- android developer tiny share-20170209
- 【Photoshop】滤镜详解
- java经典考题
- sql效率优化
- Sting类的实现
- poj 3508 Hide That Number(模拟大数减法)
- 新生代Eden与两个Survivor区的解释
- java如何实现webservice中wsdlLocation访问地址的可配置化
- 1077. Kuchiguse (20)
- Maven打包web项目报错Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if
- 内存溢出(OOM)与内存泄露