面向对象:
成员变量与局部变量:
1、成员变量存在于堆内存,局部变量则存在于栈内存
2、成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰
3、成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数
4、成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失
5、成员变量如果没有被赋初值,则会自动以类型的默认值而赋值,而局部变量则不会自动赋值
面向对象三大特征
封装
继承
多态
String StringBuffer 和 StringBuilder
(1)如果要操作少量的数据用 String;
(2)多线程操作字符串缓冲区下操作大量数据 StringBuffer;
(3)单线程操作字符串缓冲区下操作大量数据 StringBuilder。
== 与 equals
equals是判断两个对象是否相等
==判断两个对象的地址是不是相等
举个通俗的例子来说,==是判断两个人是不是住在同一个部门,而equals是判断同一个部门里的人是不是同一个
序列化与反序列化
序列化:把对象转换为字节序列的过程称为对象的序列化。
反序列化:把字节序列恢复为对象的过程称为对象的反序列化。
应用场景:
(1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
(2) 在网络上传送对象的字节序列。
Java 实现序列化的多种方式
首先需要使用到工具类 ObjectInputStream 和ObjectOutputStream 两个IO类
实现 Serializable 接口
实现 Externalizable 接口
如有雷同,纯属巧合!