公务员面试题(编辑修改稿)内容摘要:
,里面就有大量这样的错误。 记住,字符串的比较基本上都是使用 equals 方法。 如果一个类没有自己定义 equals 方法 ,那么它将继承 Object 类的equals 方法, Object 类的 equals 方法的实现代码如下: boolean equals(Object o){ return this==o。 } 这说明,如果一个类没有自己定义 equals 方法,它默认的 equals方法(从 Object 类继承的)就是使用 ==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用 equals 和使用 ==会 得到同样的结果,如果比较的是两个独立的对象则总返回 false。 如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那 么你必须覆盖 equals 方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。 1静态变量和实例变量的区别。 在语法定义上的区别:静态变量前要加 static 关键字,而实例变量前则不加。 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。 静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。 总之,实例变量必须创建对象后才可 以通过这个对象来使用,静态变量则可以直接使用类名来引用。 例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个 staticVar 变量,并且每创建一个实例对象,这个 staticVar就会加 1;但是,每创建一个实例对象,就会分配一个 instanceVar,即可能分配多个 instanceVar,并且每个 instanceVar 的值都只自加了 1 次。 public class VariantTest { public static int staticVar = 0。 public int instanceVar = 0。 public VariantTest() { staticVar++。 instanceVar++。 (“staticVar=” + staticVar + ”,instanceVar=” + instanceVar)。 } } 备注:这个解答除了说清楚两者的区别外,最后还用一个具体的应用例子来说明两者的差异,体现了自己有很好的解说问题和设计案例的能力,思维敏捷,超过一般程序员,有写作能力。 1是否可以从一个 static 方法内部发出对非 static 方法的调用。 不可以。 因为非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而 static 方法调用时不需要创建对象,可以直接调用。 也就是说,当一个 static 方法被调用时,可能还没有创建任何实例对象,如果从一个 static 方法中发出对非 static 方法的调用,那个非 static 方法是关联到哪个对象上的呢。 这个逻辑无法成立,所以,一个 static 方法内部发出对非static 方法的调用。 1 Integer 与 int 的区别 int 是 java 提供的 8 种原始数据类型之一。 Java 为每个原始类型提供了封装类, Integer 是 java 为 int 提供的封装类。 int 的默认值为0,而 Integer 的默认值为 null,即 Integer 可以区分出未赋值和值为 0 的区别, int 则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为 0 的区别,则只能使用 Integer。 在 JSP开发中, Integer 的默认为 null,所以用 el 表达式在文本框中显示时,值为空白字符串,而 int 默认的默认值为 0,所以用 el表达式在文本框中显示时,结果为 0,所以, int 不适合作为 web 层的表单数据的类型。 在 Hibernate 中,如果将 OID 定义为 Integer 类型,那么 Hibernate就可以根据其值是否为 null 而判断一个对象是否是临时的,如果将 OID 定义为了 int 类型,还需要在 hbm 映射文件中设置其unsavedvalue 属性为 0。 另外, Integer 提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数, Integer 中还定义了表示整数的最大值和最小值的常量。 1 ()等於多少 ? ()等於多少 ? Math 类中提供了三个与取整有关的方法: ceil、 floor、 round,这些方法的作用与它们的英文名称的含义相对应,例如, ceil的英文意义是天花板,该方法就表示向上取整, ()的结果为 12,()的结果是 11; floor 的英文意义是地板,该方法就表示向下取整, ()的结果为 11,()的结果是 12;最难掌握的是 round 方法,它表示“四舍五入”,算法为(x+),即将原来的 数字加上 后再向下取整,所以,()的结果为 12, ()的结果为 11。 1下面的代码有什么不妥之处 ? 1. if((“zxx”){} 2. int x = 1。 return x==1?true:false。 请说出作用域 public, private, protected,以及不写时的区别 这四个作用域的可见范围如下表所示。 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域 当前类 同一 package 子孙类 其他 package public √ √ √ √ protected √ √ √ friendly √ √ private √ 备注:只要记住了有 4 种访问权限, 4 个访问范围,然后将全选和范围在水平和垂直方向上分别按排从小到大或从大到小的顺序排列,就很容易画出上面的图了。 Overload 和 Override 的区别。 Overloaded 的方法是否可以改变返回值的类型 ? Overload 是重载的意思, Override 是覆盖的意思,也就是重写。 重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。 重写 Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性 的一种表现。 子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。 子类方法的访问权限只能比父类的更大,不能更小。 如果父类的方法是 private 类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。 至于 Overloaded 的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢。 这个题目很模糊。 如果几个 Overloaded 的方法的参数列表不一样,它们的返回者类型当然也可以不一样。 但我估计你想问的问题是:如 果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载 Overload。 这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如, 我们调用 (key)方法时,虽然 remove 方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java 就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。 override 可以翻译为 覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。 对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。 除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。 在覆盖要注意以下的几点: 覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果; 覆盖的方法的返回值必须和被覆盖的方法的返回一致; 覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类; 被覆 盖的方法不能为 private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。 overload 对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时, VM 就会根据不同的参数样式,来选 择合适的方法执行。 在使用重载要注意以下的几点: 在使用重载时只能通过不同的参数样式。 例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是 fun(int,float),但是不能为fun(int,int)); 不能通过访问权限、返回类型、抛出的异常进行重载; 方法的异常类型和数目不会对重载造成影响; 对于继承来说,如果某一方法在父类中是访问权限是 priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。 4 月 21 号班同学贡献的一些题 ? 朱 wenchao,女: 3500, 21 岁 搞了多个重载方法,参数分别是 int ,char,和 double,然后将 double x = 2,传递进去,会选择哪个方法。 说说对 javaee 中的 session 的理解,你是怎么用 session 的。 cvs/svn下载 jdk 中哪些类是不能继承的: System,String,StringBuffer 等。 在 eclipse 中调试时,怎样查看一个变量的值。 陈 yong, 4000 判断身份证:要么是 15 位,要么是 18 位,最后一位可以为字母,并写程序提出其中的年月日。 一个房子里有椅子,椅子有腿和背,房子与椅子是什么关系,椅子与腿和背是什么关系。 如果房子有多个椅子,就是聚合关系,否则是一种关联关系,当然,聚合是一种特殊的关联。 椅子与腿和背时组合关系。 说说 has a 与 is a 的区别。 工厂模式的类图 4. 5 月 15 号班同学贡献的一些题。 1. 线程如何同步和通讯。 同学回答说 synchronized方法或代码块。 面试官似乎不太满意。 只有多个 synchronized 代码块使用的是同一个监视器对象,这些synchronized 代码块之间才具有线程互斥的效果,假如 a 代码块用obj1 作为监视器对象,假如 b 代码块用 obj2 作为监视器对象,那么,两个并发的线程可以同时分别进入这两个代码块中。 „这里还可以分析一下同步的原理。 对于同步方法的分析,所用的同步监视器对象是 this 接着对于静态同步方法的分析,所用的同步监视器对象是该类的 Class 对象 接着对如何实现代码块与方法的同步进行分析。 如何加载 class。 jvm 里有多个类加载,每个类加载可以负责加载特定位置的类,例如, bootstrap 类加载负责加载 jre/lib/ 中的类, 我们平 时用的 jdk 中的类都位于 中。 extclassloader 负责加载jar/lib/ext/*.jar 中的类, appclassloader 负责 classpath 指定的目录或jar 中 的类。 除了 bootstrap 之外,其他的类加载器本身也都是 java类,它们的父类是 ClassLoader。 的生命周期 如何实现插入的数据按自定义的方式有序存放 class MyBean implements Comparable{ public int pareTo(Object obj){ if(! obj instanceof MyBean) throw new ClassCastException() //具体异常的名称,我 要查 jdk 文档。 MyBean other = (MyBean) obj。 return age ?1:age== ?0:1。 } } class MyTreeSet { private ArrayList datas = new ArrayList()。 public void add(Object obj){ for(int i=0。 i()。 i++)。公务员面试题(编辑修改稿)
相关推荐
end out 2) stand up for 3) pass for 4) were closing in on 5) starting up 6) went through 7) fill out 8) fall into 3. 1) … incorporates all the latest safety features 2) …two trees te n feet apart 3)
12 极地越野车是模仿什么动物行走而设计制造的。 企鹅 世界上长颈鹿的脖子最长有: 6米左右 以下哪个英文单词代表电子邮件: Email 质能方程的提出者是:爱因斯坦 猕猴桃属于什么种类水果。 浆果类 鸡为什么要吃小石子。 蝙蝠 重金属对人体有毒害作用,以下那一种不是:钠 (Na) 圣马力诺被称为 “国中之国 ”,它的国土被哪个国家包围。 意大利 人体中最大的淋巴器官是:脾
肚鱼 属于国家一类保护动物的是: : 天鹅 举重时运动员为什么搓白粉。 : 吸取手上的汗 非洲国家边界按什么划分的最多。 : 经线或纬线 举重比赛的级别是按: : 按体重划分 问仓储超市与其它超市最大的不同点是什么: : 储售场地合一 18世纪德国贵族热衷于收集并定制各种树木做的“木头书”,以木头做成的盒子,盒面用树皮制作,你知道盒子里面都用来装什么。 : 树叶、果实等
到 2020 年,也就是本届政府任期内,要力争超过全国的平均水平。 要实现这个目标,同志们都知道困难还是很大的。 XXXX 年,通过市教委和区县及学校的共同努力,秀山、云阳 2县的通过了“两基”验收,到 XXXX年, 我市完成“两基”任务的地区人口覆盖率已达到 95%以上。 但是到现在,全市还有 3个县(酉阳、城口、巫溪)未完成“两基”验收, 酉阳、巫溪、城口实现 “两基 ”的时间分别为
34。 对 Word 文档中插入的图片 , 不可以进行的操作是 35。 Word 中设定打印纸张的大小 , 应选择 36 操作。 33. A. “ 常用 ” 工具栏上的 “ 保存 ” 图标 B. “ 文件 ” 菜单的 “ 保存 ” C. “ 文件 ” 菜单的 “ 另存为 ” D. “ 编辑 ” 菜单的 “ 另存为 ” 34. A. 移入剪贴板 B. 复制到剪贴板 C. 移入回收站 D.
心指导,员工的全面投入,才能达到预算的既定目标,这是指整体性。 (三)预算并非代替管理 预算金额控制,并非 用以代替日常经营管理的决策地位,它只是提供一项较详细的数字资料,以辅助决策。 经费是否支出,支出的金额多少,都应视决策时的实际需要而定,而不要因为僵化的预算数字,而危害公司整体目标。 (四)预算的设立须花费时间 预算的设立及实施,并非一朝一夕可得。 尤其对一初次执行预算的企业,资料的收集