个人 对protected的理解, 基础弱, 错了的地方求指点

7月3 发现之前的测试,其实很简单,可能是我一时忘记了java 作用域的范围,搞这个测试好像效果没啥用,

 个人 对protected的理解, 基础弱, 错了的地方求指点_第1张图片


  记牢作用域的范围



因为之前碰到个 问题 调用不了一个protected方法。

  现在项目正好完了, 就来测试下。(java基础了, 求指点)

写的java测试

 测试的目的。

  protected 是受保护的 类型。  子类可以调用父类的protected类型的方法变量。

 但是在其他类里面若是想使用子类的类对象, 调用该类父类的protected方法。 则必须同包。 不同包则调用不了。

 呃。 好像我把自己说晕了。基础弱啊啊啊, 现在测试下,至少了解的多了点。

    若是不懂的 就也自己测试下把,理解的快!

 看我这个看晕了的话。。 你就鄙视我把 = =

首先声明,可能有些是废的,毕竟自己测试嘛。

 个人 对protected的理解, 基础弱, 错了的地方求指点_第2张图片

在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();//报错了,调用不到。看下面的图,没有该方法
	}
}

调用不到! .里面没有该方法
个人 对protected的理解, 基础弱, 错了的地方求指点_第3张图片


 


你可能感兴趣的:(java,String,测试,Class,import,float)