日期:2014-05-20  浏览次数:20782 次

把类和成员的可访问范围降到最低 这就话不明白 求解
好的模块设计应该尽最大可能封装好自己的内部信息,这样可以把模块之间的耦合程度降到最低。开发得以并行,无疑这将加快开发的速度,便于系统地维护。Java中通过访问控制符来解决这个问题。

public表示这个类在任何范围都可用。 
protected表示只有子类和包内的类可以使用 
private-package(default)表示在包内可用 
private表示只有类内才可以用 
你在设计一个类的时候应该尽量的按照4321得顺序设计。如果一个类只是被另一个类使用,那么应该考虑把它设计成这个类的内部类。通常public的类不应该有public得字段,不过我们通常会用一个类来定义所有的常量,这是允许的。不过必须保证这些字段要么是基本数据类型要么引用指向的对象是不可修改的。不然他们将可能被修改。例如下面的定义中data就是不合理的,后面两个没有问题。
public class Con
{
public static final int[] data = {1,2,3};// it is bad
public static final String hello = "world";
public static final int i = 1;
}


public static final int[] data = {1,2,3};// it is bad 为什么

------解决方案--------------------
没感觉哪里bad了
------解决方案--------------------
public static final int[] data = {1,2,3};// it is bad 为什么
因为数组和数组元素是两回事
final int[] data,说明data是不可变的,但是数组元素 data[0] = 10是可变的

------解决方案--------------------
把类和成员的可访问范围降到最低 

简单的说:能用private的,就不要用protected 能用protected的,就不要用public

这样做的好处,就是可以更好的实现数据封装,隐藏。更好的安全性
------解决方案--------------------
探讨
public static final int[] data = {1,2,3};// it is bad
怎么样才能让他 定义的合理呢?

------解决方案--------------------
你的枚举类写的挺有意思的
PS:你的头像好河蟹
[Quote=引用:]
[code=Java][/code]package net.itdos.enu;

public class EnunTest {
public static void main(String[] args) {
System.out.println(San.FIRST.next());
}
public enum San{
FIRST {
public String next()……
[/Quote]
------解决方案--------------------
实现数据封装,隐藏。更好的安全性