zoukankan      html  css  js  c++  java
  • 内部类

    定义格式:

    1 class Outer{
    2     class Inner{
    3         public void show(){
    4             System.out.println("Run...");
    5         }
    6     }
    7 }

    内部类访问特点:

    1.内部类可以直接访问外部类中的成员;

    2.外部类要访问内部类,必须简历内部类的对象。

    内部类使用环境:

            分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容,这时还有的事物定义成内部类来描述。

    修饰符:

            因为内部类是在外部类内中,相当于是外部类的成员,所以会有成员修饰符:public default private。另外还有static。

    访问内部类:

           1.无静态

           Outer.Inner in = new Outer().new Inner();

           2.如果内部类是静态的,就相当于一个外部类: Outer.Inner in = new Outer.Inner();

           但是静态成员只能访问静态变量,所以外部类中的成员变量要是静态的。

           3.如果内部类是静态的,成员也是静态的,则:Outer.Inner.show();

           如果内部类中定义了静态成员,则该内部类必须是静态类。

    访问特性:(Outer.this.num访问的是外部类里的成员变量num)

     1 public class NeiBu {
     2     public static void main(String[] args) {
     3         System.out.println("Hello,This is Function main...");
     4         new Outer().new Inner().show();
     5     }
     6 }
     7 
     8 class Outer{
     9     int num = 3;
    10     class Inner{
    11         int num = 4;
    12         public void show(){
    13             int num = 5;
    14             System.out.println(Outer.this.num);
    15         }
    16     }
    17 }

    匿名内部类:

           匿名内部类就是内部类的简写格式。

           必须有前提:内部类必须继承或者实现一个外部类或者接口。

    代码演示:

     1 public class NeiBu {
     2     public static void main(String[] args) {
     3         System.out.println("Hello,This is Function main...");
     4         new Outer().method();
     5     }
     6 }
     7 
     8 abstract class Demo{
     9     abstract void show();
    10 }
    11 
    12 class Outer{
    13     public void method(){
    14         new Demo(){
    15             void show(){
    16                 System.out.println("This is ....");
    17             }
    18         }.show();
    19     }
    20 }
  • 相关阅读:
    JSP简单练习-数组应用实例
    Android中的动画具体解释系列【4】——Activity之间切换动画
    php学习之道:WSDL具体解释(三)
    破解电信光猫(个人真实经验)
    POj 1879 Tempus et mobilius Time and motion (模拟+群)
    使用mysql-mmm实现MySQL高可用集群
    德克萨斯扑克_百度百科
    姜饼屋_百度百科
    阿根廷探戈----中英文对照
    波尔卡舞_百度百科
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2736054.html
Copyright © 2011-2022 走看看