一.基础概念 1.构造代码块,给所有对象进行初始化. 2.构造函数,只给对应的对象初始化. 3.局部代码块,控制局部变量的生命周期. 二.实例代码 class Person { private int age; //构造代码块.给所有对象进行初始化. { System.out.println("Construction code block......"); } //构造函数只给对应的对象初始化. Person () { System.out.println("person.…
1.java和c#静态成员调用的不同之处 static 表示静态的,也就是共享资源,它是在类加载的时候就创建了 java中   可以通过实例来调用,也可以通过类名.成员名来调用,但是一般最好使用类名.成员这个方式,因为静态成员是属于类的,并不是属于具体的对象 c#中     只能通过类名.成员调用,并不能 用实例来进行调用 2.c#的静态构造函数和java中的构造代码块.静态代码块 c# 静态构造函数的特点:        1)静态构造函数不需要手动调用,系统自动调用        2)静态构造…
面线对象: /* 成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用.   注意事项: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,…
代码块 ----a静态代码块 ----b构造代码块 ----c普通代码块 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. a.静态代码块: 静态代码块在加载该类的时候执行,且只执行一次! class Test{ public static void main(String args[]) { Demo d1=new Demo();Demo d2=new Demo(); } } class Demo{ static{ System.out.println(&…
/* 演示构造代码块的应用 */ class Person { String name; int age; //构造代码块 { cry(); } Person(String name, int age) { this.name = name; this.age = age; System.out.println("name:"+name+"---"+"age:"+age); } public void cry() { System.out.pri…
一.可以使用static关键字来定义“静态代码块” 1.语法规则 static { java语句: } 2.静态代码块在类加载时执行,并且只执行一次 3.静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序依次执行. 4.静态代码块的作用是什么?怎么使用?用在哪里?什么时候用? 这当然和具体的需求有关,例如:项目中要求在类加载的时候执行代码完成日志的记录,那么这段记录日志的代码就可以编写在到静态代码块之中,完成日志记录. 静态代码块是java准备的一个特殊时刻,这个特殊时刻被称为类加载时刻,…
一.非静态代码块 1.声明格式 [修饰符] class 类名 { { 非静态代码块 } } 2.非静态代码块中的代码执行时机 (1)在"每次"创建对象的时候执行 (2)比构造方法早 Demo: class MyClass{ private String str; public MyClass(){ System.out.println("无参构造2"); } public MyClass(String str){ this.str = str; System.out…
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System.out.println("I’m B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } } cla…
一:静态代码块 注意是代码块,不是静态函数.函数要调用才执行,代码块加载就执行,一般是静态变量的声明与初始化.被static修饰的代码块(赋值.输出操作等).类中静态语句块仅在类加载时被执行一次 如 static int a=1: static { int b=2; System.out.print(b);} 二:构造代码块 构造代码块是指不在类的任何一个方法中的代码.一般为全局变量的声明与初始化.顺序执行的输出语句等等.如果没有static修饰的话,这些代码按照编码时顺序执行. Java会把构…
静态代码块:static修饰的代码块. 在类加载-初始化的时候进行,主要目的是给变量赋予初始值 构造代码块:直接在类中定义且没有加static关键字的代码块称为构造代码块. java会把构造代码块放到构造方法前面,用于实例化一些共有的实例变量,减少代码量 构造方法:与类同名,没有返回值类型的方法 用于实例化变量 父类和子类:对子类的调用会导致其对父类的主动调用,所以尽管实例化的是子类,但也会导致父类的初始化和实例化,且父类先于子类执行. 参考实例: public class HelloB ext…