java软件工程师最全面试题

203. Javascript如何实现继承? 1.采用对象冒充方式:

原理: 构造函数使用this关键字给所有属性和方法赋值, 因为构造函数只是一个函数,所以可以使ClassA的构造函数成为classB的方法,然后调用它.这样classB就会收到classA的构造函数中定义的属性和方法.例子: 2.例:

function classA(name) {

this.name=name;

this.showName=function(){alert(this.name);} }

function classB(name) {

this.newMethod = classA; this.newMethod(name); }

obj = new classA(\ objB = new classB(\

obj.showName(); // print hero

objB.showName(); // print dby 说明classB 继承了classA的方法.

204. 将字符串str(例:”abcrepefd”)中的”rep”部分替换成”with”字符串(不能用jdk自带的replace方法) 答案如下:

public void replace(String str,String rep,String with){ try{

int i = str.indexOf(rep);

String s1 = str.substring(0, i);

String s2 = str.substring(i, rep.length()+i);

String s3 = str.substring(rep.length()+i, str.length()); s2 = with;

String mes = s1+s2+s3;

System.out.println(\替换前:\ System.out.println(\替换后:\ }catch(Exception e){

System.out.println(\字符串\中不含有\字符串!\ } }

205. Java Reflection是什么? 答:

1.JAVA反射,Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,

或者说\自审\,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来; 2.一个简单的例子

import java.lang.reflect.*; public class DumpMethods {

public static void main(String args[]) { try {

Class c = Class.forName(args[0]); Method m[] = c.getDeclaredMethods();

for (int i = 0; i < m.length; i++) System.out.println(m.toString()); }

catch (Throwable e) { System.err.println(e); } }}

206. 1到11相加是奇数还是偶数?

偶数

207. 一个圆上有6个点,可以连多少条直线? 15条线段

208. Stack堆栈,实现进栈,出栈 package t1;

public class mystack { private Object[] data; private int top=-1; private int size; public mystack() {

data=new Object[5]; size=5; }

public mystack(int size) {

data=new Object[size]; this.size=size; }

public void push(Object obj) {

if(this.isfull()) {

return ; }

top++;

data[top]=obj; }

public Object pop() { if(this.isempty()) {

return null; }

Object obj=data[top]; top--;

return obj ; }

联系客服:779662525#qq.com(#替换为@)