java 数组转字符串????回答主要是三个方面:(1)ha(8)
3)为了保证安全性,可以使用transient关键字进行修饰不必序列化的属性。因为在反序列化时,private修饰的属性也能查看到。
(2)实现ExternalSerializable方法
自己对要序列化的内容进行控制,控制哪些属性被序列化,哪些不能被序列化;
实现反序列化
(1)实现Serializable接口的对象在反序列化时不需要调用对象所在类的构造方法,完全基于字节;
(2)实现ExternalSerializable接口的方法在反序列化时会调用构造方法;
注意事项
(1)被static修饰的属性不能被序列化;
(2)对象的类名、属性都会被序列化,方法不会被序列化;
(3)要保证序列化对象所在类的属性也是可以序列化的;
(4)当通过网络、文件进行序列化时,必须按照写入的顺序读取对象;
(5)反序列化时有序列化对象的class文件;
(6)最好显式的声明serializableID,因为在不同的JVM之间,默认生成serializableID;可能不同,会造成反序列化失败。
常见的序列化协议有哪些?
(1)COM
(2)CORBA
(3)XML&SOAP
(4)JSON
(5)Thrift
……
9.其他
1)java的四个基本特性
抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面,抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。
继承:继承是从已有类得到继承信息创建新类的过程,提供继承信息的类称为父类(超类、基类);得到继承信息的类被称为子类(派生类),继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。
封装:通常认为封装是把数据和操作方法绑定起来,对数据的访问只能通过已定义的接口,面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象,我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。
多态:是指允许不同子类型的对象对同一消息做出不同的响应。
多态的理解(多态的实现方式)
1)方法重载(overload)实现编译时的多态性(也称为前绑定)(1、类型不同 2、参数个数不同 3、与返回值无关)。
2)方法重写(override)实现运行时的多态(也称为后绑定)。(核心精髓)
3)实现多态的两件事:
a:方法重写(子类继承父类并重写父类中已有的或抽象的方法)
B:对象造型(用父类型引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)
项目中多态的应用:
1)单继承
2)接口实现
例如:在接口中写一个爬虫的方法
在不同的网站,爬虫实现的方法都不同,如网易采用jsoup进行解析、百度采用RSS,今日头条采用ajax异步传输,实现就要采用获取json进行解析。
的确少了美国世界就和平一大半了