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

【无标题】

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

【无标题】

代码快的基础

代码块是对构造器的补充

会解决构造器的代码冗余问题

而且代码块的调用时优先于构造器的

代码块的使用细节 配合static的静态代码块

静态代码块作用是对类进行初始化,随着类的加载而执行

类被加载的时候
  1. 创建类的对象时;对类进行实例化的时候

  2. 创建子类对象的时候类也会被加载 父类先被加载 子类后被加载

  3. 使用静态成员时(静态属性,静态方法) 很好的体现了另一种叫法类变量类方法

    补充 子类调用类成员时,一定会调用父类

    只执行一次 因为类只加载一次

普通代码块在创建对象实例时会被调用,使用静态成员时不会被执行

代码块的调用创建对象时使用静态成员时
普通会调用,创建一次就调用一次代码块不执行
static会调用 ,有且只有一次(因为创建对象时类被加载)代码块执行一次

总结 普通代码块随对象而生

​ 静态代码块随类加载而生

代码块的顺序问题
public class CodeBlockDetail02 {
    public static void main(String[] args) {
        A a = new A();

    }
}
class A{

    private int n2 = getN2();
    static {
        System.out.println("n1代码块被执行");
    }
    private static int n1 = getN1();
    {
        System.out.println("n2静态代码块被执行");
    }
    public static int getN1(){
        System.out.println("getN1被调用");
        return 100;
    }
    public int getN2(){
        System.out.println("getN2被调用");
        return 100;
    }
}









静态变量的初始化 和 静态代码块 的实现时同级别的 取决于申明的先后

静态优先于普通(是因为类的加载优先于属性的生成)

创建一个子类对象,静态代码块,静态属性初始化,普通代码块,普通属性初始化,构造方法的调用顺序

  1. 父类的静态代码块和静态属性
  2. 子类的静态代码块和静态属性
  3. 父类的普通代码块和普通属性
  4. 父类的构造方法
  5. 子类的普通代码块和普通属性
  6. 子类的构造方法

原则父类>子类,静态>普通
这是接触Java以来第一次认真做笔记,所以当是我的第一篇博客发出来与诸君共勉!

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

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

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