先看下面TestModel:apache
import org.apache.commons.collections4.BidiMap; import org.apache.commons.collections4.bidimap.DualHashBidiMap; public class TestModel { BidiMap bidiMap = new DualHashBidiMap(); BidiMap getBidiMap() { bidiMap.put("testkey","testvalue"); return bidiMap; } }
运行下面测试代码,你猜结果会是什么?编程
@Test public void test() { TestModel testModel = new TestModel(); System.out.println(testModel.bidiMap.size()); testModel.getBidiMap(); System.out.println(testModel.getBidiMap().getKey("testvalue")); }
结果是:测试
0
testkey
结论:spa
一个类的属性和方法,在不加访问修饰符的状况下,可访问性默认是public,————可不是private哦! 因此,在定义类成员时,注意使用修饰符来限定可访问性。code
按照编程规范,将属性定义成private的,即定义为私有字段,而后经过get/set方法将其暴露出去。blog
诸如上面的TestModel,定义的就很差,可读性差,容易给人形成误解。bidiMap和getBidiMap()都能被外界访问,那么别人在使用TestModel时就会模棱两可。get