网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.GNOME桌面2.23.2版本现已发布.
.Java写的查找重复电话号码程序.
.Java.util包简介并教您如何开发应.
.Java 中的 XML:文档模型,第一部.
.Java程序编码规范.
.java实现的18位身份证格式验证算.
.通过实例论证J2ME的事件传输机制.
.软件架构:可控的灵活性.
.java 类型提升的约定.
.面向对象思想之 -- 理解类和对象.
.用TikeSwing框架开发Java应用的表.
.关于spring框架中的ioc的幽默解释.
.Java框架:Struts的动态复选框.
.Java实践:用XQuery进行屏幕搜集.
.Eclipse编程Tips-让RCP自带JRE.
.Drives 属性.
.Java设计模式之外观模式研究.
.实战角度比较EJB2和EJB3的架构异.
.正确使用String类的几点注意.
.如何遍历并执行一个对象的所有可.

Java面试陷阱第三波

发表日期:2008-1-5



  6.

class Something {

int i;

public void doSomething() {

System.out.println("i = " + i);

}

}



有什么错呢? 看不出来啊。

答案: 正确。输出的是"i = 0"。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。



7.

class Something {

final int i;

public void doSomething() {

System.out.println("i = " + i);

}

}



和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?

答案: 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constrUCtor (构造器)结束之前被赋予一个明确的值。可以修改为"final int i = 0;"。



8.

public class Something {



public static void main(String[] args) {

Something s = new Something();



System.out.println("s.doSomething() returns " + doSomething());

}



public String doSomething() {

return "Do something ...";

}

}



看上去很完美。

答案: 错。看上去在main里call doSomething没有什么问题,究竟两个methods都在同一个class里。但仔细看,main是static的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method不能访问non-static instant variable。



9.

此处,Something类的文件名叫OtherThing.Java

class Something {

private static void main(String[] something_to_do) {

System.out.println("Do something ...");

}

}



这个似乎很明显。

答案: 正确。从来没有人说过Java的Class名字必须和其文件名相同。但public class的名字必须和文件名相同。



10.

今天最难的一题:

interface Playable {

void play();

}



interface Bounceable {

void play();

}



interface Rollable extends Playable, Bounceable {

Ball ball = new Ball("PingPang");

}



class Ball implements Rollable {

private String name;



public String getName() {

return name;

}



上一篇:JAVA里字符编码的探索与理解 人气:570
下一篇:Java面试陷阱第二波 人气:937
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐