1.代码块的作用:用来初始化类、对象2.如果有修饰,只能使用static来修饰3.分类:静态代码块 vs 非静态代码块4.静态代码块 内部可以有输出语句 随着类的加载而执行,而且只执行一次 作用:初始化类的信息 静态代码块的执行优先于非静态代码块的执行 静态代码块内只能调用静态的属性、静态的方法5. ...
分类:
编程语言 时间:
2020-08-05 23:26:26
阅读次数:
110
<clinit>()方法 Java 类加载的初始化过程中,编译器按语句在源文件中出现的顺序,依次自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并产生方法。 如果类中没有静态语句和静态代码块,那可以不生成<clinit>() 方法。 并且 <clinit>() 不需要显式调用父类(接口除外, ...
分类:
编程语言 时间:
2020-08-03 00:52:33
阅读次数:
101
static 修饰的内容属于类,凡是类的对象,都共享同一份。 静态方法和静态变量都可以通过对象名和类名调用,推荐通过类名调用。 成员方法可以访问静态变量,静态方法可以访问静态变量,不能直接访问非静态变量。 静态方法不能用 this 关键字。 静态内容总是优先于非静态 静态代码块比构造方法先执行 静态 ...
分类:
其他好文 时间:
2020-07-26 00:08:23
阅读次数:
48
static静态代码块和静态方法 static关键字 static修饰的方法或变量,优先于对象执行,所以内存会先有static修饰的内容,后有对象的内容 可以用来修饰类的成员方法、类的成员变量,还可以编写static静态代码块 修饰变量就是类变量,修饰方法就是类方法 总结:类变量或者类方法,可以直接 ...
分类:
编程语言 时间:
2020-07-25 23:49:36
阅读次数:
74
类的成员之四:代码块(初始化块)(重要性较属性、方法、构造器差一些) 1.代码块的作用:用来初始化类、对象的信息 2.分类:代码块要是使用修饰符,只能使用static 分类:静态代码块 vs 非静态代码块3.静态代码块: >内部可以输出语句 >随着类的加载而执行,而且只执行一次 >作用:初始化类的信 ...
分类:
其他好文 时间:
2020-07-19 23:36:05
阅读次数:
63
程序的主入口是main方法,但是在jdk1.7之前,可以没有main方法也一样能运行,很是不可思议,到底是什么原因呢?,大家都知道在类中定义了静态代码块的话,是首先执行代码块里的语句的,如果把静态代码块放到了主类中,到底是先执行静待代码块呢还是先执行main方法呢?不用纠结,我来做个试验。 1 st ...
分类:
其他好文 时间:
2020-07-12 22:21:41
阅读次数:
55
本文参考Java教程 ###接口的概述: 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK >8),私有方法(JDK 9)。 接口的定义: 它与定义类方式 ...
分类:
编程语言 时间:
2020-07-09 12:37:18
阅读次数:
74
1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class对象, Class对象封装了类在方法区内的数据结构, ...
分类:
编程语言 时间:
2020-07-02 16:36:09
阅读次数:
42
(一)饿汉式 不存在线程安全问题 直接实例化(简洁直观) 枚举式(最简洁) 静态代码块(适合复杂实例化) (二)饿汉式 : 延迟创建对象 线程不安全(适用于单线程) 线程安全(适用于多线程) 静态内部类形式(适用于多线程) 学而不思则。。。。 ...
分类:
其他好文 时间:
2020-06-26 14:55:43
阅读次数:
61
在实例化对象时会对对象所在的所有成员变量进行初始化 实例化化对象:类名() 对象名 = new 类名(); 这时会调用(顺序如下) 1.父类的非静态代码块 { ......//用花括号包围的内容是非静态代码块 } 2.父类的构造函数 Public 父类名(){ .......//这里是父类的构造函数 ...
分类:
编程语言 时间:
2020-06-26 14:19:44
阅读次数:
75