java - 本地类中的私有(private)属性

标签 java

在(私有(private))本地类中拥有私有(private)属性并拥有 get()、set() 方法是否有任何用处?

 class a{
     private class b {
         private int att;
         public int getAtt(){
             return att;
         }
         public setAtt(int att){
             this.att = att;
         }
     }
 }

对比

  class a{
     private class b {
         public int att;
     }
 }

对我来说,所有属性都应该是公共(public)的是有道理的,因为它们无论如何只在外部类中使用?

最佳答案

这是工厂的常见模式。内部私有(private)类实现了一个公共(public)接口(interface)。

public interface IB {

    public int getAtt();

    public void setAtt(int att);

}

static class BFactory {

    public IB makeOne() {
        return new B();
    }

    private class B implements IB {

        private int att;

        public int getAtt() {
            return att;
        }

        public void setAtt(int att) {
            this.att = att;
        }
    }
}

关于java - 本地类中的私有(private)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33953827/

相关文章:

java - Spring查询字符串简单验证?

java - 克服谷歌数据存储的 30 个子查询限制

java - 如何在Java中正确读取文件中的整数

java - 如何在swing中自由布局动态添加按钮等组件?

java - 如何使 DataOutputStream 将 boolean 值或整数写入 txt 文件?

java - 如果发生错误,IO 线程向 GUI 线程发出警报

Java 以一定长度(以像素为单位)分割字符串

java - 它不会从 Fragment Activity ('FragmentOne' 上的 Firebase 加载,这是明确的,也不应该如此)

java - 为什么要在 Hadoop 中将返回值定义为函数参数?

java - 如何有效地对用户输入进行分类