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的默认和静态方法
目录 浅谈Java的默认和静态方法 Java新增默认方法有啥用 Java新增的静态方法有啥用 浅谈Java的默认和静态方法 允许在接口中声明默认方法和静态方法,是JDK1.8新增的特性.存在即合理,两 ...
- 基于WPF&Prism&AvalonEdit的XAML轻量编辑器
1. 写在前面 一直从事WPF的相关开发工作,有时为了尝试或演示某些仅仅基于XAML的效果时,但又不想大动干戈打开VS去创建项目,所以一个轻便简单,集编辑与预览于一身的XAML编辑器就显得格外重要. ...
- Android短视频滑动播放(一)
本文主要介绍采用RecyclerView配合PagerSnapHelper实现短视频滑动播放内容. 1. 主页内容构建 主页布局文件定义RecyclerView,为RecyclerView建立对应适配 ...
- list的基本方法
数据类型列表 列表的创建 使用[ ]创建列表,元素之间使用逗号隔开, list()创建列表 列表添加新的元素 list.append() 在list末尾增加一个元素 list.insert(n, &q ...
- Spring boot项目搭建及简单实例
Spring boot项目搭建 Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for ...
- model流程
@RequestMapping("toDetail.do") public ModelAndView toDetail(HttpServletRequest request,Htt ...
- 如何修改Docker已运行实例的端口映射
如何修改Docker已运行实例的端口映射 Docker的端口映射,往往出现在两个阶段需要处理: 1.是在docker启动前就已经确定好,哪个docker实例映射哪个端口(往往这个情况比较,需要提前做规 ...
- Django之form组件自动校验数据
目录 一.form介绍 二.普通方式手写注册功能 views.py register.html 三.使用form组件实现注册功能 views.py register2.html 四.pycharm的专 ...
- 【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结
JavaScript 中基础数据类型 数据类型名称 数据类型说明 Undefined 只有一个值,即 undefined ,声明变量的初始值. Null 只有一个值,即 null ,表示空指针, ...
- AVR单片机教程——小结
本文隶属于AVR单片机教程系列. 第一期挺让我失望的,是我太菜,没有把想讲的都讲出来.经常写了很多,然后一点一点删掉,最后就没多少了. 而且感觉难度不合适,处于很尴尬的位置.讲得简单,难的丢给库, ...