标签:基础上 编译 com pre extend 代码执行 style 结果 log
23章介绍了Androidstudio等工具以及JDK、SDK。
24章介绍了如何安装Androidstudio,如何新建项目、虚拟设备、运行测试。
25章介绍了activity。activity的周期、图标、使用资源、启动其他活动、传递意图启动活动。
26章介绍了重要的UI组件。清单文件、Toast组件、通知、
public static String pullBytes(InputStream is, int count) throws IOException
{
is.mark(count);
final StringBuilder sb = new StringBuilder();
for(int i=0; i<count; i++)
sb.append((char)is.read());
is.reset();
is.skip(1);
sb.append((char)is.read());
return sb.toString();
}
/*
The result cannot be determined with the information given.
并非所有java.io流都支持mark()操作;
如果不在流上调用mark- Supported(),则结果在运行时才会被识别。如果流确实支持mark()操作,那么结果将是XYZY,因为reset()操作将流放回到调用mark()之前的位置,并且skip(1)将跳过X.
如果流不支持mark()操作,则可能会抛出运行时异常“The code compiles but throws an exception at runtime.”
不知道输入流是否支持mark()操作,无法判断
*/
public class Bird implements Serializable {
protected transient String name = "Bridget";
public void setName(String name) { this.name = name; }
public String getName() { return name; }
public Bird() {
this.name = "Matt";
}
}
public class Eagle extends Bird implements Serializable {
{ this.name = "Janette"; }
public Eagle() {
this.name = "Daniel";
}
}
/*
Bird类实现了Serializable,没有定义astatic serialVersionUID变量,但定义不是必需的,因此编译没有问题,代码也运行没有问题,
Java将在反序列化期间为第一个非可序列化的无参数父类调用构造函数,跳过任何构造函数和默认的可序列化类的初始化,包括Eagle和Bird本身。
Object()是第一个被调用的构造函数。将跳过所有默认初始化,
由于名称标记为瞬态,因此反序列化值为nulland,调用者无法使用setName()更改name的序列化值,因为name被标记为transient。
*/
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | ----- | ----- | ----- | |
第二周 | 180/180 | 2/3 | 18/18 | |
第三周 | 429/609 | 1/4 | 24/42 | |
第四周 | 588/1197 | 2/6 | 30/72 | |
第五周 | 548/1745 | 2/6 | 20/92 | |
第六周 | 15934/17679 | 2/8 | 20/112 |
标签:基础上 编译 com pre extend 代码执行 style 结果 log
原文地址:https://www.cnblogs.com/Ychancy/p/10663841.html