Java实例域初始化方式

1.构造器

public class Employee {

private String name;

private String gender;

private int age;

private double salary;

public Employee() {

this.salary = 1000.0;

}

public Employee(String name, String gender, int age, double salary) {

this.name = name;

this.gender = gender;

this.age = age;

this.salary = salary;

}

}

2.域声明

public class Employee {

private String name;

private String gender;

private int age;

private double salary = 1000.0;

public Employee() {

}

public Employee(String name, String gender, int age, double salary) {

this.name = name;

this.gender = gender;

this.age = age;

this.salary = salary;

}

}

3.初始化块(initialization block)

public class Employee {

private String name;

private String gender;

private int age;

private double salary;

private static String test;

//静态初始化块:类第一次被加载时执行

static {

System.out.println("类加载");

test = "hello world!"

}

//初始化块

{

name = "xiao";

gender = "m";

age = 20;

salary = 1000.0;

System.out.println("初始化");

}

@Override

public String toString() {

return "Employee{" +

"name='" + name + '\'' +

", gender='" + gender + '\'' +

", age=" + age +

", salary=" + salary +

'}';

}

public static void main(String[] args) {

Employee employee = new Employee();

System.out.println(employee.toString());

}

}

初始化

Employee{name='xiao', gender='m', age=20, salary=1000.0}

Process finished with exit code 0

Java实例域初始化顺序

调用构造方法的具体处理步骤:

1. 如果类是第一次被使用,先执行静态初始化块

2. 所有数据域被初始化为默认值(0、false或null)

3. 按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块。

4. 如果构造方法调用了其他构造方法,先执行其他方法。

5. 最后,执行构造方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java 实例域_Java实例域初始化方法及顺序相关推荐

  1. java桥_java 泛型--桥方法

    因为 java 在编译源码时, 会进行 类型擦除, 导致泛型类型被替换限定类型(无限定类型就使用 Object). 因此为保持继承和重载的多态特性, 编译器会生成 桥方法. 本文最后附录所有源码. P ...

  2. java 实例域_Java实例域初始化

    Java实例域初始化方式 1.构造器 public class Employee { private String name; private String gender; private int a ...

  3. java中初始化的顺序_Java中 初始化的先后顺序?

    我们在java中 Java中初始化的顺寻? java代码: package sru.love.c; class Person { String name = "Person"; s ...

  4. arraylist java 排序_Java ArrayList排序方法详解

    由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一.ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在 ...

  5. modifiers在JAVA中_Java Modifier.classModifiers方法代碼示例

    import java.lang.reflect.Modifier; //導入方法依賴的package包/類 /** * Returns a string describing this {@code ...

  6. java中位数_java 计算中位数方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  7. java writebytes()_Java ObjectOutputStream writeBytes()方法与示例

    ObjectOutputStream类writeBytes()方法writeBytes()方法在java.io包中可用. writeBytes()方法用于将给定的字符串作为字节序列写入. writeB ...

  8. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  9. java 二义性_Java接口默认方法带来的问题分析【二义性问题】

    本文实例分析了Java接口默认方法带来的问题.分享给大家供大家参考,具体如下: 一 点睛 Java 8中,如果一个类实现两个或多个接口,即"变相"的多继承,但是若其中两个接口都包含 ...

最新文章

  1. “微信应用号对行业影响”之一,app开发速来围观
  2. 安装Adventure Works 2008 R2演示数据库
  3. protobuf简单序列化反序列化示例
  4. java ReentrantLock 锁相关笔记
  5. linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...
  6. 九、MySQL常见约束相关知识总结 学习笔记 + 强化复习(六大约束)
  7. 【C++、Matlab】VS2013 C++读写.mat文件
  8. gamma校正_Log与Gamma校正视频
  9. POJ-2456.Aggressivecows.(二分求解最大化最小值)
  10. JS读取Excel时日期转换问题:1900-2-29问题
  11. 剑指 Offer II 028. 展平多级双向链表
  12. PS经典教程:从零开始设计一个漂亮的网页
  13. (转载)你好,C++(6)2.3 C++兵器谱
  14. 零基础学Python--------第4章 序列的应用
  15. Matlab学习-基本介绍
  16. MinGW GCC 8.1.0 2018年5月2日 出炉啦
  17. Ubuntu1804安装Mysql
  18. 按键控制LED定时点亮c语言,单片机定时中断循环点亮LED灯,我有个51单片机的实验,要求51单片机的P1口外接发光二极管依。...
  19. sd协议SD卡发布RCA的流程
  20. 上海市计算机学会竞赛平台三星级挑战

热门文章

  1. vector,list deque三种容器对比
  2. linux l字符串,Linux shell 字符串常用操作
  3. DockerFile入门指南
  4. Windows配置Gtkmm开发环境(with codeblocks)
  5. AI实战 | Tensorflow自定义数据集和迁移学习(附代码下载)
  6. 从零开始学keras之多分类问题
  7. Octave教程(一)
  8. 【java基础知识】spring框架开发时,怎样解决mysql数据库中Timestamp到String的简单转换
  9. Windows + IDEA + SBT 打造Spark源码阅读环境
  10. jssdk信息验证失败_阿里云环境中TLS/SSL握手失败的场景分析