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();
        }
    }
    
     
     
     
     
  • 相关阅读:
    浏览器的跨域请求 与 CORS(跨域资源共享)
    HTML 占位符
    C# 中的 base和this
    推荐一个pdf引擎
    整理wifi相关的知识点
    交叉编译(ISC)DHCP:dhcp-4.3.0b1
    (转载)子网掩码,网关的概念
    海思-VB被占用导致vb无法去初始化
    c++创建文件时重命名同名文件
    iw创建虚拟网卡wlan1,ap_sta共存
  • 原文地址:https://www.cnblogs.com/akingseu/p/3485777.html
Copyright © 2011-2022 走看看