package demo;

import demo.Enclosingone;

import demo.Enclosingone.InsideOne;

import demo.Enclosingone.InsideOne2;

class Enclosingone

{

static final int a=100;

static {

System.out.println("Enclosingone.enclosing_method():父类静态代码块");

}

public Enclosingone() {

{

System.out.println("Enclosingone.Enclosingone():父类构造函数");

}

}

{

System.out.println("Enclosingone.enclosing_method():父类构造代码块");

}

public void name() {

{

System.out.println("Enclosingone.name():父类普通代码块");

}

}

public static class InsideOne {//静态内部类

static{

System.out.println("Enclosingone.InsideOne.enclosing_method():静态内部类");

}

}

public class InsideOne2{//内部类

//静态内部类的加载不需要依附外部类,在使用时才加载。不过在加载静态内部类的过程中也会加载外部类

//非静态内部类不能使用静态代码块(一般的非静态类可以有静态代码块)

//因为非静态内部类相当于外部的非静态成员变量,如果外部类要调用非静态成员变量,则需要创建对象,

//进行调用;而非静态内部类中有static代码块,那么在外部类加载的时候就会加载,不需要考虑外部状态

//则与外部类的创建相驳论,所以静态内部类不能创建静态代码块

static final int a=200;//就近原则匹配a的值

//static final int a=6;

public InsideOne2() {

System.out.println(a);

}

}

@Override

protected void finalize() throws Throwable {

System.out.println("最后一次a:"+a);

}

}

class Enclosingonechild extends Enclosingone{

static {

System.out.println("Enclosingonechild.enclosing_method():子类静态代码块");

}

public Enclosingonechild() {

{

System.out.println("Enclosingonechild.Enclosingonechild():子类构造函数");

}

}

{

System.out.println("Enclosingonechild.enclosing_method():子类构造代码块");

}

}

public class demo

{

public static void main(String[] args)

{

new InsideOne();//静态内部类直接声明使用//相当于外部类

System.out.println("-------------");

new Enclosingone().new InsideOne2();

System.out.println("--------------");

new Enclosingonechild().name();

System.out.println("--------------");

System.gc();//调用gc回收,触发finalize方法;

}

}

java 内部类 加载_java内部类及类加载顺序相关推荐

  1. java 内部类 加载_Java 内部类基础介绍

    看Concurrent包源码时,其中存在大量的内部类使用,所以特地抽出一篇来介绍内部类.内部类其实是Java 经常用到的一个小的知识点. 内部类: 在一个类内部定义的类叫做内部类,根据内部类在外部类中 ...

  2. java class加载_Java 类加载

    从一个诡异的问题说起 测试案例一: packageecut.classloader;public classSun {protected static int a = 100;protected st ...

  3. java热加载_java热加载

    应用服务器一般都支持热部署(Hot Deployment),更新代码时把新编译的确类 替换旧的就行,后面的程序就执行新类中的代码.这也是由各种应用服务器的独 有的类加载器层次实现的.那如何在我们的程序 ...

  4. Java类的加载及父类子类加载顺序

    点击 Mr.绵羊的知识星球 解锁更多优质文章. 目录 一.类的加载 1. 类加载 2. 类加载器 二.父类和子类加载顺序 1. 案例(代码) 一.类的加载 1. 类加载 当程序要使用某些类时,如果该类 ...

  5. java代码加载_java类中代码加载顺序

    package org.senssic; /** * 一般顺序:静态块-->静态变量-->成员变量-->构造方法-->静态方法(或非静态方法,需要调用) * 1.静态代码块(只 ...

  6. java 配置文件加载_Java加载配置文件类

    package com.up72.parkSys.ThirdParty; import java.io.IOException; import java.io.InputStream; import ...

  7. java 配置文件加载_java加载配置文件信息

    #基金数据存放根目录 fund_save_root_path=E:/fundCrawling #龙虎榜数据存放根目录 long_hu_root_path=E:/longHuCrawling #巨潮数据 ...

  8. java虚拟机加载类_java虚拟机之类加载机制(一)

    一.首先先说一下java虚拟机的生命周期: 1.执行了system.exit(): 2.程序正常执行结束: 3.程序在执行过程中遇到了异常或错误而终止: 4.由于操作系统出现错误而导致java虚拟机进 ...

  9. java 类 重新加载_Java动态类加载和重新加载的详细介绍

    本篇文章给大家带来的内容是关于Java动态类加载和重新加载的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Java中可以在运行时加载和重新加载类,虽然并不像我们想像中那么简 ...

最新文章

  1. appium+python自动化测试教程_Python+Appium实现自动化测试
  2. JavaScript初学者编程题(18)
  3. java文件不存在就创建_Java中创建并写文件的5种方式
  4. Ubuntu16.04 UltraEdit 安装破解使用
  5. 比较全的 Java8 9 lambda 应用
  6. 写给人类的机器学习 翻译完成
  7. 【kafka】kafka 如何开启 kafka.consumer的监控指标项
  8. 服务器需不需要虚拟内存,服务器要不要虚拟内存
  9. php设置文字大小、,html字体大小怎么设置
  10. 图像拼接算法的基本原理
  11. OSChina 周三乱弹 ——人生四人行,一男两女是夫妻,还有一个单身狗
  12. 行存储 VS 列存储
  13. 北鲲云联合珠海中科先进技术研究院推出代算服务
  14. java设计模式(13-19节)
  15. 低延迟音频中的音频解码优化策略
  16. js对内容进行编码(富文本编辑器使用居多)
  17. 如何用技术手段“干掉”优酷、腾讯视频 App 里讨厌的广告?
  18. 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略
  19. SoX 安装(Ubuntu+win10)的新手误区和正确安装方法。
  20. 虚拟机增加磁盘空间后lv扩容详细流程,linux扩容根目录详细流程【openstack和VMware虚拟机方法同理】,centos重装系统lvm后不可用处理流程,2021尾声祝福送上。

热门文章

  1. linux 全新编译安装,全新linux中通过编译方式安装nginx
  2. ajax 示例代码,Ajax的简单实用实例代码
  3. 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))
  4. Numpy中stack(),hstack(),vstack()函数详解
  5. python 使用 requests 做 http 请求
  6. html5小说翻页,用html5模拟书的翻页
  7. ios 设置按钮不可见_iOS的五大设计原则:统一化和适应化原则
  8. php包含文件时显示空白页,php中出现空白页的原因及解决方法汇总_php技巧
  9. yunyang tensorfow-yolo3 训练时权重文件消失的原因和解决办法(max_to_keep)
  10. python 怎么安装opencv?