Java类和对象(下)
Java类和对象 下
-
- 对象的构造及初始化对象
-
- 1.如何初始化对象
- 2.构造方法
-
- 概念
- 特性
- 3.默认初始化
- 4.就地初始化
- 封装
-
- 1.封装的概念
- 2.访问限定符
- 3.封装拓展之包
-
- 1.概念
- 2.导入包中的类
- 3.自定义包
- 4.包的访问权限控制
- 5.常见的包
- static成员
-
- 1.static修饰的成员变量
- 2.static修饰成员方法
- 3.static成员变量初始化
-
- 1.就地初始化
- 2.静态代码块
- 代码块
-
- 1.代码块的概念及分类
- 2.普通代码块
- 3.构造代码块
- 4.静态代码块
对象的构造及初始化对象
1.如何初始化对象
在java方法内定义一个局部变量时,必须要初始化,否则会编译失败。
public class Test{public static void main(String[] args) {int a;System.out.println(a);}
}
要让以上代码通过编译,只需在编译之前给a设置一个初始值即可。但如果是对象:
public class Date {public int year;public int month;public int day;public Date(){System.out.println("1 success!");}public Date(int year, int month, int day){this.year = year;this.month = month;this.day = day;System.out.println("2 success!");}public void printDate(){System.out.println(year + "-" + month + "-" + day);}public static void main(String[] args) {Date d = new Date();d.printDate();Date e = new Date(2025,8,28);e.printDate();}
}
可以正常通过编译。可以发现第一次构造的对象的成员变量没有初始化,但是并没有报错,因为java编译器会赋予其默认的初始值:
public class DefaultValueExample {byte b;short s;int i;long l;float f;double d;char c;boolean bool;String str;int[] arr;public static void main(String[] args) {DefaultValueExample example = new DefaultValueExample();System.out.println("byte: " + example.b); // 输出 0System.out.println("short: " + example.s); // 输出 0System.out.println("int: " + example.i); // 输出 0System.out.println("long: " + example.l); // 输出 0System.out.println("float: " + example.f); // 输出 0.0System.out.println("double: " + example.d); // 输出 0.0System.out.println("char: " + example.c); // 输出 空字符(不可见)System.out.println("boolean: "