错题集1

function A() {
    this.do=function() {return ‘foo’;};
}
A.prototype=function() {
    this.do=function() {return ‘bar’};
};
var x=new A().do();

最后输出的应该是foo,只有实例对象上不存在的属性和方法才会去原型上查找。
2.

public class Main {
    public static void changeStr(String str) {
        str = "welcome";
    }

    public static void main(String[] args) {
        String str="1234";
        changeStr(str);
        System.out.println(str);
    }
}

答案是1234,这道题考的是参数方法传递特性,网方法中传参,传的仅仅是地址,而不是实际的内存,在方法中一直是形参在更改指向,形参在跳出方法的时候会被销毁,所以值不变。
3.

public class foo {
    public static void main(String sgf[]) {
        StringBuffer a = new StringBuffer(“A”);
        StringBuffer b = new StringBuffer(“B”);
        operate(a, b);
        System.out.println(a +.+b);
    }

    static void operate(StringBuffer x, StringBuffer y) {
        x.append(y);
        y = x;
    }
}

输出AB.B
在这里插入图片描述
4. switch语句后的控制表达式只能是short, chat, int, long, 整数类型和枚举类型,不能是float, double, boolean类型。String 类型是jdk7开始支持。
5. 类B从类A中派生,则B可以访问A中的?
public,protected 而private,所以数据成员,所有函数成员不可以
因为类B与类A可能不同包。
6. 常见浏览器端存储技术有:
cookie, localStorge :比cookie存储更多,获取更方便,但是存储内容不会随请求发送;userDate是ie支持的,但很少需要用到,除非有很强兼容需求。
7. final,finally,finalize的区别:
final用于声明属性,方法和类,分表表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句的一部分,表示总是执行。
finalize是Object的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
引用变量被final修饰后,不能再指向其他对象,它指向的对象内容也是不可变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值