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

    Java内部类

    概述

      将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类,其他类称为外部类

    class 汽车{    //    外部类
        class 发动机{    //内部类
        }
    }

    分类

    • 成员内部类
    • 局部内部类

    内部类可以直接访问外部类的所有成员

    1.成员内部类

    成员内部类定义在外部类的成员位置,与类中的成员变量类似,可以通过外部类对象进行访问

    定义格式:

    class 外部类{

       修饰符 class 内部类{

      }

    }

    访问方式:

    外部类名.内部类名 变量名=new 外部类名().new 内部类名();

    package com.test.test;
    
    public class Body {
        private Boolean life=true;
        public class Heart{
            public void jump(){
                System.out.println("跳跳跳");
            }
        }
    
        public static void main(String[] args) {
            Body.Heart bh=new Body().new Heart();
            bh.jump();
        }
    }

    2.局部内部类

    定义在外部类方法中的局部位置,访问方法与方法中的局部变量类似,可以通过调用方法访问

    定义格式:

    class 外部类{

    修饰符 返回值类型 方法名(参数){

       class  内部类{

          }

       }

    }

    package com.test.test;
    
    public class Body {
        public void HeartJump(){
            class Heart{
                public void jump(){
                    System.out.println("跳跳");
                }
            }
            new Heart().jump();
        }
    
        public static void main(String[] args) {
            Body body=new Body();
            body.HeartJump();
        }
    }

    匿名内部类

    含义:

    • 临时定义某一指定类型的子类
    • 定义后可创建刚刚定义的这个子类的对象

    格式:

        new 父类或接口(){

        //方法重写

    }

    package com.test.test;
    //父类
    public abstract class Parent {
       public abstract void eat();
    }
    
    
    public class Main {
        public static void main(String[] args) {
            //匿名内部类
            Parent p=new Parent() {
                public void eat() {
                    System.out.println("吃");
                }
            };
            p.eat();
        }
    }
  • 相关阅读:
    Android SDCard操作(文件读写,容量计算)
    weibo4
    weibo5
    android源码结构分析
    后台退出事件
    获取服务器和客户端信息
    vs2008破解升级
    禁止所有蜘蛛
    页面的回发与回传
    显示上一条新闻 下一条新闻
  • 原文地址:https://www.cnblogs.com/python-road/p/14202995.html
Copyright © 2011-2022 走看看