zoukankan      html  css  js  c++  java
  • [编写高质量代码:改善java程序的151个建议]建议38-41

    38.使用静态内部类提高封装性

     
    1.封装性
    2.限制性。静态内部类不持有外部类的引用。对静态内部类的访问做了限制。
    3.生命周期,不依赖于外部类。
     
    39.
    使用匿名类的构造函数
    eg:
    List    l1 = new ArrayList();
    List l2 = new ArrayList(){};//匿名类
    List l3 = new ArrayList(){ {} {} {} {} }//匿名类,构造代码块
     
    40.匿名类的构造
    只能以构造代码块的形式出现,不能直接有构造函数。
     
    41.内部类实现多重继承
    eg:
    interface Father{
        public int strong();
    }
    
    class FatherImpl implements Father{
        public int strong(){
            return 8;
        }
    }
    
    interface Mother{
        public int kind();
    }
    
    class MotherImpl implements Mother{
        public int kind(){
            return 8;
        }
    }
    class Son extends FatherImpl implements Mother{
        @Override
        public int strong(){
            return super.strong() + 1;
        }
    
    
        public int kind(){
            return new MotherSpecial().kind();
        }//实际上可以直接 return super.kind() - 1
        
        public class MotherSpecial extends MotherImpl{
            public int kind(){
                return super.kind() - 1;
            }
        }
        
    }
    
    
    class Daughter extends MotherImpl implements Father{
        @Override
        public int strong(){
            return new FatherImpl(){
                @Override
                public int strong(){
                    return super.strong() - 2;
                }
            }.strong();
        }
    }
    
     
     
     
     
  • 相关阅读:
    pwndbg + gdb8.2 + kali (2018-10-09)爬坑
    关于EOF
    ARM的PC和LR寄存器
    存档,IE漏洞,一直不会分析
    QQProtect.sys漏洞真有意思
    问题
    gapz注入代码
    Spring JdbcTemplate批量操作数据库
    消息中间件MQ基础理论知识
    Spring4.3.1 JDBCTemplate操作数据库
  • 原文地址:https://www.cnblogs.com/akingseu/p/3485777.html
Copyright © 2011-2022 走看看