小编Pra*_*ker的帖子

扩展类的Java序列化

在java序列化类中,Mp3player扩展了ElectronicDevice实现Serializable,在这段代码中,超类electronicdevice未实现可序列化.这里超类也被序列化了.我的理解是超级类也因为extends.let而被序列化.我知道我的理解是否正确.

 import java.io.*;
 class ElectronicDevice { 
      ElectronicDevice() 
      {
           System.out.print("ed "); 
      }
  }
 class Mp3player extends ElectronicDevice implements Serializable {
       Mp3player() 
       { 
          System.out.print("mp "); 
       }
 }
class MiniPlayer extends Mp3player {
     MiniPlayer()
     { 
         System.out.print("mini "); 
     }
     public static void main(String[] args) {
          MiniPlayer m = new MiniPlayer();
          try {
                 FileOutputStream fos = new FileOutputStream("dev.txt");
             ObjectOutputStream os = new ObjectOutputStream(fos);
                 os.writeObject(m); os.close();

                 FileInputStream fis = new FileInputStream("dev.txt");
                 ObjectInputStream is = new ObjectInputStream(fis);
                 MiniPlayer m2 = (MiniPlayer) is.readObject(); 
                 is.close();
                 System.out.println();
          } catch (Exception …
Run Code Online (Sandbox Code Playgroud)

java

10
推荐指数
2
解决办法
2万
查看次数

这些通用类型之间有什么区别

我有两个问题

1.以下两个声明之间是否有任何区别?
(案例i)

List<String> li = new ArrayList();  
Run Code Online (Sandbox Code Playgroud)

(案例ii)

List<String> li = new ArrayList<String>();  
Run Code Online (Sandbox Code Playgroud)

我知道仿制药的好处是Stronger type checks at compile time.
那为什么我们需要声明像 case ii
由于对象创建在运行时仅在编译时声明.

java generics

3
推荐指数
1
解决办法
178
查看次数

标签 统计

java ×2

generics ×1