java 内部类 加载_java内部类及类加载顺序
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内部类及类加载顺序相关推荐
- java 内部类 加载_Java 内部类基础介绍
看Concurrent包源码时,其中存在大量的内部类使用,所以特地抽出一篇来介绍内部类.内部类其实是Java 经常用到的一个小的知识点. 内部类: 在一个类内部定义的类叫做内部类,根据内部类在外部类中 ...
- java class加载_Java 类加载
从一个诡异的问题说起 测试案例一: packageecut.classloader;public classSun {protected static int a = 100;protected st ...
- java热加载_java热加载
应用服务器一般都支持热部署(Hot Deployment),更新代码时把新编译的确类 替换旧的就行,后面的程序就执行新类中的代码.这也是由各种应用服务器的独 有的类加载器层次实现的.那如何在我们的程序 ...
- Java类的加载及父类子类加载顺序
点击 Mr.绵羊的知识星球 解锁更多优质文章. 目录 一.类的加载 1. 类加载 2. 类加载器 二.父类和子类加载顺序 1. 案例(代码) 一.类的加载 1. 类加载 当程序要使用某些类时,如果该类 ...
- java代码加载_java类中代码加载顺序
package org.senssic; /** * 一般顺序:静态块-->静态变量-->成员变量-->构造方法-->静态方法(或非静态方法,需要调用) * 1.静态代码块(只 ...
- java 配置文件加载_Java加载配置文件类
package com.up72.parkSys.ThirdParty; import java.io.IOException; import java.io.InputStream; import ...
- java 配置文件加载_java加载配置文件信息
#基金数据存放根目录 fund_save_root_path=E:/fundCrawling #龙虎榜数据存放根目录 long_hu_root_path=E:/longHuCrawling #巨潮数据 ...
- java虚拟机加载类_java虚拟机之类加载机制(一)
一.首先先说一下java虚拟机的生命周期: 1.执行了system.exit(): 2.程序正常执行结束: 3.程序在执行过程中遇到了异常或错误而终止: 4.由于操作系统出现错误而导致java虚拟机进 ...
- java 类 重新加载_Java动态类加载和重新加载的详细介绍
本篇文章给大家带来的内容是关于Java动态类加载和重新加载的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Java中可以在运行时加载和重新加载类,虽然并不像我们想像中那么简 ...
最新文章
- appium+python自动化测试教程_Python+Appium实现自动化测试
- JavaScript初学者编程题(18)
- java文件不存在就创建_Java中创建并写文件的5种方式
- Ubuntu16.04 UltraEdit 安装破解使用
- 比较全的 Java8 9 lambda 应用
- 写给人类的机器学习 翻译完成
- 【kafka】kafka 如何开启 kafka.consumer的监控指标项
- 服务器需不需要虚拟内存,服务器要不要虚拟内存
- php设置文字大小、,html字体大小怎么设置
- 图像拼接算法的基本原理
- OSChina 周三乱弹 ——人生四人行,一男两女是夫妻,还有一个单身狗
- 行存储 VS 列存储
- 北鲲云联合珠海中科先进技术研究院推出代算服务
- java设计模式(13-19节)
- 低延迟音频中的音频解码优化策略
- js对内容进行编码(富文本编辑器使用居多)
- 如何用技术手段“干掉”优酷、腾讯视频 App 里讨厌的广告?
- 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略
- SoX 安装(Ubuntu+win10)的新手误区和正确安装方法。
- 虚拟机增加磁盘空间后lv扩容详细流程,linux扩容根目录详细流程【openstack和VMware虚拟机方法同理】,centos重装系统lvm后不可用处理流程,2021尾声祝福送上。
热门文章
- linux 全新编译安装,全新linux中通过编译方式安装nginx
- ajax 示例代码,Ajax的简单实用实例代码
- 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))
- Numpy中stack(),hstack(),vstack()函数详解
- python 使用 requests 做 http 请求
- html5小说翻页,用html5模拟书的翻页
- ios 设置按钮不可见_iOS的五大设计原则:统一化和适应化原则
- php包含文件时显示空白页,php中出现空白页的原因及解决方法汇总_php技巧
- yunyang tensorfow-yolo3 训练时权重文件消失的原因和解决办法(max_to_keep)
- python 怎么安装opencv?