java类成员默认的可访问性是什么?你猜
程序员文章站
2022-06-10 16:05:56
先看下面TestModel: 运行下面测试代码,你猜结果会是什么? 结果是: 结论: 一个类的属性和方法,在不加访问修饰符的情况下,可访问性默认是public,————可不是private哦! 所以,在定义类成员时,注意使用修饰符来限定可访问性。 按照编程规范,将属性定义成private的,即定义为 ......
先看下面testmodel:
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
结论:
一个类的属性和方法,在不加访问修饰符的情况下,可访问性默认是public,————可不是private哦! 所以,在定义类成员时,注意使用修饰符来限定可访问性。
按照编程规范,将属性定义成private的,即定义为私有字段,然后通过get/set方法将其暴露出去。
诸如上面的testmodel,定义的就不好,可读性差,容易给人造成误解。bidimap和getbidimap()都能被外界访问,那么别人在使用testmodel时就会模棱两可。
下一篇: 如何配置NAT Server?