杂七杂八的总结---Java基础知识(一)

目录

多态机制

有参构造方法和无参构造方法

复制对象和复制引用

浅拷贝和深拷贝

&和&&

break和continue

equals和hashcode

equals和==

String类

方法重载(overload)和重写(override)

抽象类和接口的异同

静态变量和实例变量

异常(exception)

error和exception

throw和throws

final、finally和finalize

“+”/append()连接字符串

int、Integer之间的比较

字节流--->字符流

字节流和字符流的区别

集合安全性

List三个子类

Map常见子类

Set常见子类

List、Map、Set

多线程共享数据方式

线程池

wait和sleep方法

静态嵌套类和内部类

小点


多态机制

靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动
态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变
量的类型中定义的方法

 

有参构造方法和无参构造方法

编写类时,默认有无参构造方法。

添加有参或无参构造方法后,默认的无参构造会失效---------------->so 仅添加有参构造方法后,再调用无参构造方法编译报错。

复制对象和复制引用

Person p = new Person(11);

Person p1 = p;------------------------->复制引用,地址相同

Person p2 = (Person)p.clone();------------------>复制对象,地址不同

浅拷贝和深拷贝

对象拷贝时,成员变量是引用数据类型如String时:

                  仅拷贝引用值--------->浅拷贝-------------------->so 改变新拷贝对象的值时,原先的对象也会改变。

                  创建新的对象,将新的对象的引用值赋给新拷贝的对象------>深拷贝

看图可知:clone复制对象后,新对象的其他实体类对象的地址和原对象中该实体类对象的地址相同--------->so 浅拷贝

-------------> 要实现深拷贝时,该对象实现clone方法,该对象引用的其他对象也要实现clone方法。

代码即:

   //1.在被引用的对象中也添加clone方法
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }




    //2.在原对象中添加clone方法时,将被引用对象也clone一次
             //Person指原对象,Addr是被引用的实体对象
    @Override
    protected Object clone() throws CloneNotSupportedException {
        Person newPerson = (Person) super.clone();
        newPerson.addr = (Addr)addr.clone();

        return newPerson;
    }

代码修改后的结果为:

&和&&

&:按位与、逻辑与。------------>执行所有判断条件。

&&:短路与。------------> a&&b ,  if a == false , then  不进行b的运算。

注:I 和 II 类似。

break和continue

break:跳出循环。continue:执行下一轮循环。

equals和hashcode

两个对象的equals相等则hashcode肯定相等,hashcode相等equals不一定相等。

equals方法满足:自反性、对称性、传递性和一致性。

重写equals时要重写hashCode-具体见 https://blog.csdn.net/u012557538/article/details/89861552

equals和==

前者是方法后者是运算符

equals():比较内容是否相等

                 equals是先比较地址值,不相等再逐个比较字符

==:基本数据类型比较数值是都相等,引用数据类型比较对象的地址值是否相等

String类

是final类,不可被继承,不可被修改--------->内存开销

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值