Java变量'm'和'p'前缀

Jef*_*ine 1 java variables syntax prefix

这种语法的目的和含义是什么?我看到像private Object mSelectedOperationRow;和的线条mMessageService = pMessageService;.下面有更完整的代码.

public class SearchResponseBean extends BaseBean implements Serializable,
    SearchResponse {

@Autowired
private SearchLifecycleService mSearchLifecycleService;

@Autowired
private ConfigurationServiceImpl mConfig;

@Value("#{sessionBean}")
private Session session;

@Value("#{searchRequestBean}")
private SearchRequest searchRequest;

@Value("#{searchResponseFilterByBean}")
private SearchResponseFilterBy searchResponseFilterBy;

@Value("#{searchHistoryBean}")
private HistoryBean<SearchHistoryItem> historyBean;

@Autowired
private SearchResponseDataModelFactory mSearchResponseDataModelFactory;

private int mCount;
private DataModel mDataModel;
private SearchPerspective mSearchPerspective;
private Operation mSelectedOperation;
private Object mSelectedOperationRow;
private List mSelectedList;
private List<String> mAvailableOperations;
private List mFilteredList;
private boolean mRelatedDocSearch;

private transient MessageService mMessageService;

public SearchResponseBean() {
    mMessageService = new MessageServiceImpl();
}

public SearchResponseBean(MessageService pMessageService) {
    mMessageService = pMessageService;
}

protected void init() {
    String THIS_METHOD_NAME = "init";
    mFilteredList = null;
    mSelectedList = null;
    mSelectedOperationRow = null;
    mSelectedOperation = null;
    mCount = -1;
    mDataModel = null;
    mSearchPerspective = null;
    mAvailableOperations = null;
    mRelatedDocSearch = false;
    logger.debug(getClass(), THIS_METHOD_NAME,
            "Initialized with null/defaults. ");
}
Run Code Online (Sandbox Code Playgroud)

Dur*_*dal 6

这不是语法问题,它是项目指南的事情.有些项目具有变量,成员,参数等的命名约定.

  • 我只是站在会员面前,
  • p代表参数.

它意味着更容易区分局部变量,成员和方法参数.


Mur*_*nik 5

mp前缀不是每本身的Java语法的一部分,他们只是在一些项目中使用的约定. m是"成员" p的缩写,是"参数"的缩写.这样,当读取一长串代码时,每个变量的来源以及含义都很清楚.现代IDE对成员的颜色不同,因此这种约定可能没有以前那么有用,但它仍然在某些项目中使用.