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

Java基础的内部类

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

Java基础的内部类

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
参赛话题:Java学习记录
话题描述:

文章目录
  • 内部类
    • 静态内部类
    • 实例内部类
    • 局部内部类(稍微了解)

内部类 静态内部类

有static修饰 属于外部类本身,会加载一次

成分研究:类有的成分都有

静态内部类访问:外部类名称.内部类名称

静态内部类创建对象的格式:

外部类名称.内部类名称 对象名 = new 外部类名称.内部类的构造器();

静态内部类的访问拓展:

静态内部类可以直接访问外部类的静态成员 因为属于类本身

静态内部类不可以访问外部类的实例成员 因为外部类的成员必须用外部类对象访问

​ 小结:
​ 静态内部类属于外部类的本身 只会加载一次


实例内部类

无static修饰的内部类,属于外部类的对象,跟着对象一起加载

成分特点:实例内部类不能定义静态成员,其他都可以定义,可以定义常量

实例内部类的访问格式:外部类名称.内部类名称

创建对象格式:
外部类名称.内部类名称 对象名 = new 外部类构造器.new 内部类的构造器()

拓展:

实例内部类是否可以注解访问外部类的静态成员? 可以的 外部类的静态成员可以被共享访问**

​ 实例内部类中是否可以访问外部类的实例成员? 可以的 实例内部类属于外部类对象 可以直接访问当前

局部内部类(稍微了解)

​ 定义在方法中,在构造器中,代码块中,for循环中定义的类

​ 就是局部内部类

​ 只能定义实例成员,不能定义静态成员

​ 可以定义常量

​ ④匿名内部类(重点)

​ 概念:

​ 就是一个没有名字的局部内部类

​ 匿名内部类目的: 简化代码,开发中常用的形式

​ 格式:

​ new 类名|抽象类|接口(形参){

​ 方法重写;

​ };

匿名内部类的特点:
    1.匿名内部类是一个没有名字的内部类
    2.匿名内部类一旦写出来,就会立即创建一个匿名内部类的对象返回。
    3.匿名内部类的对象的类型相当于是当前new的那个类型的子类类型
package com.day7_inner;

public class InnerClass3 {
    public static void main(String[] args) {
        //new 匿名内部类
        Animal a = new Animal(){

            @Override
            public void run() {
                System.out.println("猫跑起来咯");
            }
        };
        a.run();
        a.go();
    }
}

abstract class Animal{
    public abstract void run();
    public void go(){
        System.out.println("跑起来咯0.0");
    }
}

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

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

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

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