4-3面向对象程序设计
package valuetest; import java.util.Random; public class ValueTest2 { private String field1="aa"; // 5.可以在类定义时将一个值赋值给任何域(显式域初始化),使用场景:任何构造器想给某个实例域赋相同的值 int z; private static int m; public static void main(String[] args) { /* * 1.构造器可以重载 * * 2.没有构造器方法的时候会默认给一个无参构造器方法 * * 3.声明了构造方法,无参的构造方法不会默认了 * */ /* * 4.参数名,参数变量用同样的名字将实例域隐藏起来,可以通过this访问实例域 * * 6.this 调用另外一个构造器 */ /* * 7.初始化块 * 声明数据的方式:: * 1)在构造器中赋值 * 2)在声明中赋值 * 3)初始化块:一个类的声明中包含多个代码块,只要构造类的对象,就会被赋值 * 先运行块,再运行构造器 * 无论调用哪个构造器,块中的代码都会执行 */ /* * 执行顺序: * 所有数据域被初始化默认值(0,null,false) * 执行块语句 * 构造器初始化 */ /* * 8.如果静态域的初始化比较复杂,可以使用静态块 */ System.out.println("ValueTest2.m=="+ValueTest2.m); ValueTest2 v1 = new ValueTest2(1,2); System.out.println(v1.z); } //4.参数名 private void method1(String field1){ this.field1 = field1; } //6. private ValueTest2(){} public ValueTest2(int x){ System.out.println("z2=="+z); z++; System.out.println("z2=="+z); } public ValueTest2(int x, int y){ this(x); System.out.println("z1=="+z); } //7.块 { int m = 1; z = 3; } //8.静态块 static{ Random random = new Random(); m= random.nextInt(100); } }