7月3 发现之前的测试,其实很简单,可能是我一时忘记了java 作用域的范围,搞这个测试好像效果没啥用,
记牢作用域的范围
因为之前碰到个 问题 调用不了一个protected方法。
现在项目正好完了, 就来测试下。(java基础了, 求指点)
写的java测试
测试的目的。
protected 是受保护的 类型。 子类可以调用父类的protected类型的方法变量。
但是在其他类里面若是想使用子类的类对象, 调用该类父类的protected方法。 则必须同包。 不同包则调用不了。
呃。 好像我把自己说晕了。基础弱啊啊啊, 现在测试下,至少了解的多了点。
若是不懂的 就也自己测试下把,理解的快!
看我这个看晕了的话。。 你就鄙视我把 = =
首先声明,可能有些是废的,毕竟自己测试嘛。
在test包中,
接口TestObject 声明了两个方法
— — —实现类TestBaseClass 添加一个protected float getTopFadingEdgeStrength() 方法
— — — —子类 Test2 重写protected float getTopFadingEdgeStrength()方法;
— — — — — —子类Test1 什么都没做。
最后LastTest.
package day5_4_protected.test;
public class LastTest {
public static void main(String[] args) {
Test2 t = new Test2();
t.getTopFadingEdgeStrength();
}
}
可以调用到 getTopFadingEdgeStrength();方法;
第二个包 test2;
先看Test2;
package day5_4_protected.test2;
import day5_4_protected.test.Test1;
public class Test2 extends Test1 {
public static void main(String[] args) {
Test2 t = new Test2();
t.getTopFadingEdgeStrength();
}
}
可以调用到 getTopFadingEdgeStrength();方法;
再看Test类;
package day5_4_protected.test2;
import day5_4_protected.test.Test2;
public class Test{
public static void main(String[] args) {
Test2 t = new Test2();
t.getTopFadingEdgeStrength();//报错了,调用不到。看下面的图,没有该方法
}
}
调用不到! .里面没有该方法