1. 若将TestA构造器中this.ss = "dddd"改成ss = "dddd",output "cccc"
这句话改不改都会输出 "cccc"
因为你调用的是"父类"的方法, 而这个方法使用的是父类的"成员"
是 AbstractTest.ss 而不是 TestA.ss
this.ss = "dddd"; 这句话将 "dddd" 赋给了 TestA.ss
2. 若将TestA中变量定义String ss = null;注释,output "dddd"
因为 TestA.ss 已经不在存在, 所以 this.ss == AbstractTest.ss
这样输出的时候自然会是 "dddd"
3. 如何实现隐藏基类中得成员变量
成员设置成 private 的就可以了
4. staic和non-static有什么区别么
static 定义的是"类"成员, 而不是"实例"成员
static 成员在 .class 文件加载的时候初试化
非 static 成员在 new 的时候初试化
static 成员无论你 new 出来多少个实例, 他都只有相同的一个
非 static 成员你 new 多少个实例出来, 就有多少个不同的