Java 语言约定;吸气剂/二传手 [英] Java language convention; getters/setters

查看:67
本文介绍了Java 语言约定;吸气剂/二传手的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Public class Example {

    private int number;

    public Example(int number){
        this.number = number;
    }

    public int getNumber(){
        return number;
    }

    public void setNumber(int number){
        this.number = number;
    }

    public static void main(String[] args){
        Example e = new Example(5);

访问自己类中的变量时优先考虑什么;e.number"还是e.getNumber()"?

What is preffered when accessing a variable within its own class; "e.number" or "e.getNumber()" ?

编辑:
我认为最重要的问题是:编译器是否知道您调用的方法是 getter 或 setter.那么,e.setNumber(5); 会和 e.number = 5;

推荐答案

我会说这取决于具体情况.如果该字段很简单,例如 int 并且将来不太可能更改,我将使用 number 而不是 访问它getNumber().

I would say it depends on the situation. If the field is something simple such as an int and unlikely to change in the future, I would access it using number and not getNumber().

如果该字段表示更多涉及的内容,在某些情况下可能会在将来的情况下计算,或者可能在子类中覆盖getNumber() 是显而易见的选择.

If the field represents something more involved that could in some situation perhaps be computed in future situation or possibly overridden in a subclass, getNumber() is the obvious choice.

我的经验法则:如果我可以通过 getNumber() 受益,我使用 getNumber(),否则我使用 number 以保持清晰和简洁.

My rule of thumb: If there is any remote chance that I can benefit from going through getNumber() I use getNumber(), otherwise I use number for clarity and brevity.

这篇关于Java 语言约定;吸气剂/二传手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆