java数据域初始化
1、在声明中赋值
/**
* Created by N3verL4nd on 2016/11/19.
*/ class Test{
private String str = "Hello World";
public void show(){
System.out.println(str);
}
} public class HelloWorld {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
}
2、在构造器中设置值
/**
* Created by N3verL4nd on 2016/11/19.
*/ class Test{
private String str;
Test(){
str = new String("Hello World");
}
public void show(){
System.out.println(str);
}
} public class HelloWorld {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
}
3、使用初始化块
/**
* Created by N3verL4nd on 2016/11/19.
*/ class Test{
private String str;
{
str = new String("Hello World");
}
public void show(){
System.out.println(str);
}
} public class HelloWorld {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
}
只要构造类的对象,初始化块就会被执行。
/**
* Created by N3verL4nd on 2016/11/19.
*/ class Test{
{
str = new String("111");
}
private String str = "222";
Test(){
str = new String("333");
}
public void show(){
System.out.println(str);
}
} public class HelloWorld {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
}
以上代码,调整初始化顺序,单步调试发现,构造函数最后被执行。
在声明中赋值与在初始化块中设置值则按照顺序执行。
/**
* Created by N3verL4nd on 2016/11/19.
*/ class Test{
Test(){
str = new String("333");
} {
str = new String("111");
}
private String str = "222"; static {
System.out.println(555);
} public void show(){
System.out.println(str);
}
} public class HelloWorld {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
}
static块在类加载的时候被执行,也就是优先于main函数执行。顺序:进入main函数-->static块-->返回main函数。
无main函数的Hello World
public class HelloWorld {
static {
System.out.println("Hello World");
System.exit(0);
}
/*public static void main(String[] args) {
Test t = new Test();
t.show();
}*/
}
java数据域初始化的更多相关文章
- Java初始化数据域的途径
Java调用构造器的具体处理步骤: 1.所有数据域被初始化为默认值(0,false或null); 2.按照在类声明中出现的次序,依次执行所有域的初始化语句和初始化块: 3.如果构造器第一行调用了第二个 ...
- Java中静态数据的初始化顺序
Java的类中的数据成员中包含有静态成员(static)时,静态数据成员的初始化顺序是怎样的呢? [程序实例1] import java.util.*; import java.lang.*; imp ...
- Java编程思想——初始化与清理
PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化 虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...
- java四大域总结
最近学完了web部分,发现有些地方总是单个容易理解,可是把所有的放在一起来大杂烩,总是有那么几个知识点容易混淆.其实网上的资料已经够多了,虽然也不乏辛劳的搬运工.可是最终的目的不就是要我们自身理解吗? ...
- Java中域 实例域 静态域
1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性. 比如类的字段(属性),局部的,全局的.所谓域,其实是“field”的翻译 然后实例域,就是 实例(&qu ...
- 利用反射修改final数据域
当final修饰一个数据域时,意义是声明该数据域是最终的,不可修改的.常见的使用场景就是eclipse自动生成的serialVersionUID一般都是final的. 另外还可以构造线程安全(thre ...
- Java面向对象之初始化块
目录 Java面向对象之初始化块 普通初始化块 静态初始化块 初始化块与构造器 Java面向对象之初始化块 在程序设计中,让数据域正确地执行初始化一直是一个亘古不变的真理. 那么,有哪些手段可以初始化 ...
- Java类的初始化过程及清理
一.类的数据成员初始化 Java中类的数据成员初试化可能有两种形式. 在定义类成员变量的地方直接提供初始化值(这是C++中不允许的) 在构造器中初试化.(Java中不存在类似C++中的初始化列表) 两 ...
- Java 类加载与初始化
Java系列笔记(1) - Java 类加载与初始化 目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理 ...
随机推荐
- Java高级特性——流
以上就是这段时间学习完流的知识以后我的总结,.mmap文件可以去我的github上获取:https://github.com/xiaozhengyu/StudyNotes.git
- 2018 东北地区大学生程序设计竞赛(ABEHIK)
HDU6500:Problem A. Game with string 题意: 给你一个字符串s以及它的m个子串的首尾位置,现在Alice和 Bob两个人轮流在任一子串的前面或者后面加1个字符,要求加 ...
- React-router路由4.0版本用法
第一步:引包两个 命令:cnpm i -S react-router react-router-dom 第二步:用路由管理APP页面 1.创建主路由管理页面,在这里使用了路由嵌套 import Rea ...
- linux修改环境变量的三种方法【转】
[环境变量配置的三个方法] 如想将一个路径加入到$PATH中,可以像下面这样做: 1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时 ...
- Java爬虫一键爬取结果并保存为Excel
Java爬虫一键爬取结果并保存为Excel 将爬取结果保存为一个Excel表格 官方没有给出导出Excel 的教程 这里我就发一个导出为Excel的教程 导包 因为个人爱好 我喜欢用Gradle所以这 ...
- Scala实践10
1.模式匹配 模式匹配是一种根据模式检查值的机制.它是switch(Java中语句)的更强大版本,它同样可以用来代替一系列if / else语句. 句法 匹配表达式具有值,match关键字和至少一个c ...
- 【Spring Boot 源码解读】之 【为何引入了 Jedis 依赖最后用的还是 Lettuce 客户端?】
1.Spring Boot 2.x 的两种 Redis 客户端 首先,我们都知道,从 Spring Boot 2.x 开始 Lettuce 已取代 Jedis 成为首选 Redis 的客户端.当然 S ...
- SpringBoot项目配置Date类型数据自动格式转换
application.yml加入配置 spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8
- C# html生成图片保存下载
最近有个需求,需要把内容生成图片,我找到一些资料可以将html页面生成图片并保存下载 下面是简单的实现 1.html页面 @{ Layout = null; } <!DOCTYPE html&g ...
- SpringCloud之Feign(五)
Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Fei ...