渐进所有权类型:JO? 语言及其类型翻译
1. 依赖所有权示例
先来看一个依赖所有权的示例代码:
class E<P> { D myD = ... }
class D<owner> {
    E<owner> e;
    void use(D<owner> arg) { ... }
    void exploit(E<owner> arg) { this.e = arg; }
    void test(E e) {
        final D d = e.myD; // implicitly, d: D<dD.owner>
        d.use(d); // type refinement, but no type cast required
        d.exploit(e); // type refinement, dynamic type cast required
    }
}
 在这个示例中,类  E  声明了一个类型为  D  的字段  myD  ,但由于字段声明中缺少所有权注解,  myD  所引用对象的所有权信息丢失。因此,在  test  方法中,变量  d  的所有权未知。不过,因为  d  是  final  的,所以可以推断出  d  所引用对象的所有权与
 
                       
                           
                         
                             
                             
                           
                           
                             超级会员免费看
超级会员免费看
                                         
                   订阅专栏 解锁全文
                订阅专栏 解锁全文
                 
             
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   10
					10
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            