栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java内部类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java内部类

  1. 简介:
    1. 内部类就是在一个类,比如,A类中定义一个类,那么B类相对A类来说就是称为内部类,而A类相对B类来说就是外部类了。

  2. 具体学习
    1. 成员内部类
      1. 创建Outer类
        package com.oop.demo12;
        
        public class Outer {
            private int id =10;
        
            public void out(){
                System.out.println("这是外部类的方法");
            }
            public class Inner{
                public void in(){
                    System.out.println("这是内部类的方法");
                }
                //获取外部类的私有属性
                public int getId() {
                    System.out.println(id);
                    return 0;
                }
            }
        
        }
        

      2. 创建Application类
        package com.oop.demo12;
        
        public class Application {
            public static void main(String[] args) {
                //new
                Outer outer = new Outer();
                //使用内部类可以把外部类实例化在使用内部类
                Outer.Inner inner = outer.new Inner();
                //调用内部类的方法
                inner.in();
                //获取id的属性,把getId放在Inner里面
                inner.getId();
            }
        }
        
        

    2. 静态内部类
      1. 在类上加上static就是静态类
      2. 代码
        package com.oop.demo12;
        
        public class Outer {
            //局部内部类
            public void method(){
                class Inner{
                    public void in(){
                        System.out.println("局部内部类");
                    }
                }
            }
        }

    3. 局部内部类
      1. 方法里面定义变量就是局部变量,同理,方法里面定义类就是局部内部类
      2. 创建Outin
        package com.oop.demo12;
        
        public class Outin {
            public static class into{
                public void into1(){
                    System.out.println("静态内部类");
                }
            }
        }
        

    4. 匿名内部类
      1. 创建Test
        package com.oop.demo12;
        
        public class Test {
            public static void main(String[] args) {
                //没有名字初始化类,不用将实例
                new Apple().eat();
        
                UserService userService = new UserService() {
                    @Override
                    public void hello() {
                        System.out.println("hello");
                    }
                };
            }
        
        }
        class Apple{
            public void eat(){
                System.out.println("1");
            }
        }
        interface UserService{
            void hello();
        }
        

加油!:

    人生不过是一个努力向上的过程,虽然路途曲折,但巅峰的风景值得一试。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878569.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号