• Java 内部类


      内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并且控制位于内部的类的可视性。但是内部类是完全不同于组合的概念。

    在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,内部类远不止于此,它了解外围类,并能与之通讯,而且你用的内部类写出的代码更优雅而清新。

     1 package innerclasses;
     2 
     3 public class Parcel2 {
     4     class Contents{
     5         private int i = 11;
     6         public int value(){
     7             return i;
     8         }
     9     }
    10     
    11      class Destinations{
    12         private String lable1;
    13         Destinations(String whereTo){
    14             lable1 = whereTo;
    15         }
    16         String reabLable1(){
    17             return lable1;
    18         }
    19         
    20     }
    21      public Destinations to(String s){
    22             return new Destinations(s);
    23         }    
    24      public Contents contents(){
    25             return new Contents();
    26         }
    27      public void ship(String dest){
    28             Contents c = new Contents();
    29             Destinations d = new Destinations(dest);
    30             System.out.println(d.reabLable1());
    31         }
    32      
    33      public static void main(String[] args){
    34             Parcel2 p = new Parcel2();
    35             p.ship("Tasmania");
    36             Parcel2 q =new Parcel2();
    37             Parcel2.Contents c = q.contents(); 
    38             Parcel2.Destinations d = q.to("Borneo");
    39         }
    40     
    41 }

    结果

     1 Tasmania 

    如果想从外部类的非静态方法之外的任意位置创建某个内部类对象,那么有必须像在main()中那样,具体的指明这个对象的类型:OuterClassName.InnerClassName。

  • 相关阅读:
    【shell】sed指定追加模式空间的次数
    【shell】sed后向引用替换文本
    【c++】一道关于继承和析构的笔试题
    【curl】cookie的分隔符
    【shell】grep使用正则表达式
    【leetcode】Remove Duplicates from Sorted Array
    【shell】awk格式对齐文本
    【shell】sed处理多行合并
    【leetcode】Permutations
    BWSAP BW Performance Tuning URLS LIST
  • 原文地址:https://www.cnblogs.com/fxyfirst/p/3788141.html
Copyright © 2020-2023  润新知