static,final ,==,equals

来源:互联网 发布:linux怎么退出tail 编辑:程序博客网 时间:2024/06/11 07:10

1:被static修饰的变量或方法被称为类属性

类属性是被static修饰的随着类被加载而生效,而对象属性则需要new之后才会开辟内存空间,并被调用。

2:被final修饰的变量,基本类型值不可变,引用类型则是引用指向的内存值不可变,

被final修饰的方法,不可被子类继承

3:== 比较的基本类型的值,引用类型的地址值

equals就看自己发挥了,大多时候都要重写。

附上String重写的equals源码,他是比了内存地址再比内存值

public boolean equals(Object anObject) {    if (this == anObject) {        return true;    }
    if (anObject instanceof String) {        String anotherString = (String)anObject;        int n = value.length;        if (n == anotherString.value.length) {            char v1[] = value;            char v2[] = anotherString.value;            int i = 0;            while (n-- != 0) {                if (v1[i] != v2[i])                    return false;                i++;            }            return true;        }    }    return false;}
注意:Integer的“==”,在-128~127之间是按int处理的比的不是内存地址



阅读全文
1 0
原创粉丝点击