class A{
static{
System.out.println("I am A!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
SubClass subClass = new SubClass();
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
System.out.println(SubClass.class);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
public static int value = 10;//该变量会放入方法区
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
public static void main(String[]args){
System.out.println(SubClass.value);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
publicstaticfinalintfinalValue = 20;//该变量会放入方法区中的常量池里
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
System.out.println(SubClass.finalValue);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
SuperClass[]sup = new SuperClass[5];
SubClass[]sub = new SubClass[5];
}
}
#include<iostream>
usingnamespace std;
classA
{
public:
A()
{
cout << "A构造函数被调用" << endl;
}
};
void main()
{
A a[3];
}
publicclass test1 {
static{
System.out.println("The main class is inited!");
}
staticclass innerClass{
static{
System.out.println("The innerClass is inited!");
}
}
publicstaticvoid main(String[]args){
}
}
publicclass test1 {
staticclass innerClass{
staticintA = 0;
static{
System.out.println("The innerClass is inited!");
}
}
publicstaticvoid main(String[]args){
System.out.println(innerClass.A);
}
}
publicclass test1 {
staticclass Parent{
publicstaticintA = 0;
static{
System.out.println("Parent is inited!");
}
}
staticclass Child extends Parent{
static{
System.out.println("Child is inited!");
}
}
publicstaticvoid main(String[]args){
System.out.println(Child.A);
}
}
publicclass test1 {
staticclass Parent{
publicstaticintA = 0;
static{
A = 2;
}
}
staticclass Child extends Parent{
publicstaticintB = A;
}
publicstaticvoid main(String[]args){
System.out.println(Child.B);
}
}
publicclass Test{
public Test(){
System.out.println("构造函数");
}
static{
System.out.println("static块");
}
publicstaticvoid main(String []args){
Test test = new Test();
}
}
public
class
Person {
static
{
System.out.println(
"person static"
);
}
public
Person(){
System.out.println(
"person structor"
);
}
}
public
class
Test
extends
Person{
static
{
System.out.println(
"test static"
);
}
public
Test(){
System.out.println(
"test constructor"
);
}
public
static
void
main(String[] args) {}
}
publicclass Test{
static{
n = 2;//如果是System.out.println(n);则报错,因为n还没定义
}
publicstaticintn = 1;
publicstaticvoid main(String []args){
System.out.println(Test.n);
}
}
public
class
Test2 {
private
String baseName =
"base"
;
public
Test2() {
callName();
}
public
void
callName() {
System.out.println(baseName);
}
static
class
Sub
extends
Test2 {
private
String baseName =
"sub"
;
public
void
callName() {
System.out.println(baseName);
}
}
public
static
void
main(String[] args) {
new
Sub();
}
}
public
class
Person {
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
}
public
class
Test {
public
static
void
main(String[] args) {
Runnable runnable =
new
Runnable() {
@Override
public
void
run() {
new
Person();
}
};
Thread thread1 =
new
Thread(runnable);
Thread thread2 =
new
Thread(runnable);
thread1.start();
thread2.start();
System.out.println(
"main finish"
);
}
}
public
class
Person {
static
{
System.out.println(
"static..."
);
if
(
true
){
while
(
true
){}
}
}
}
public
class
Test {
public
static
void
main(String[] args) {
Runnable runnable =
new
Runnable() {
@Override
public
void
run() {
new
Person();
System.out.println(
"thread finish"
);
}
};
Thread thread1 =
new
Thread(runnable);
Thread thread2 =
new
Thread(runnable);
thread1.start();
thread2.start();
System.out.println(
"main finish"
);
}
}
类何时被卸载
版权声明:本文为博主原创文章,未经博主允许不得转载。