Static语句块和初始语句块的使用---2015年10月恒生电子笔试试卷
package lhm.test;
/**
* @author lenovo
*
*/
public class Person {
private int id;
private static int total = 0;
/**
*
*/
public Person() {
// TODO Auto-generated constructor stub
System.out.println("person构造方法");
total++;
id = total;
}
static{
System.out.println("这是Person的static语句块");
}
{
System.out.println("这是Person的初始语句块");
}
public int getId(){
return id;
}
}
/**
*
*/
package lhm.test;
/**
* @author lenovo
*
*/
public class TestStatic extends Person{
/**
*
*/
public TestStatic() {
// TODO Auto-generated constructor stub
System.out.println("Teststatic的构造方法");
}
{
System.out.println("这是TestStatic的初始语句块");
}
static{
System.out.println("这是TestStatic的static语句块");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestStatic ts = new TestStatic();
//Person p = new Person();
//Person p1 = new Person();
//System.out.println(p.getId());
//System.out.println(p1.getId());
}
}
最后结果为:
这是Person的static语句块
这是TestStatic的static语句块
这是Person的初始语句块
person构造方法
这是TestStatic的初始语句块
Teststatic的构造方法
static语句最先执行,执行时机是:该类所有static属性已被分配空间,默认初始化和显示初始化之后,在执行任何代码之前。
初始语句是在执行其他方法体之前,在对象分配空间及实例变量默认和显示初始化之后。
Static语句块和初始语句块的使用---2015年10月恒生电子笔试试卷的更多相关文章
- [18/11/26] this关键字、static关键字和静态块(及语句块)
1.this关键字 this的本质就是“创建好的对象的地址”! 由于在构造方法调用前,对象已经创建.因此,在构造方法中也可以使用this代表“当前对象” [用法] 1. 在程序中产生二义性之处 ...
- 顽强的的砂锅之——深究finally代码块与return语句的执行顺序!
当问到finally代码块的执行顺序,就算刚刚学编程的小白都能毫不犹豫的说出答案:不管异常发生与否,finally语句块的代码一定会被执行!大体上这样讲是没有错,但是finally块中的代码一定会有效 ...
- final、static、代码块、静态代码块、内部类、代码执行顺序
final final域使得确保初始化安全性(initialization safety)成为可能,初始化安全性让不可变形对象不需要同步就能自由地被访问和共享 作用在类上 ...
- Java中this,static,super及finalkeyword和代码块
this: 能够使用this表示类中的属性------this.name=name 能够使用this强调调用的是本类的方法 能够使用this调用本类的构造方法------this();调用本类中无參构 ...
- static{}静态代码块与{}普通代码块之间的区别
先看一个例子: //class A package com.my.test; class A { static { System.out.println("A1:父类静态代码区域" ...
- 静态(static)代码块、构造代码块、构造函数、父类子类执行顺序
静态代码块:static修饰的代码块. 在类加载-初始化的时候进行,主要目的是给变量赋予初始值 构造代码块:直接在类中定义且没有加static关键字的代码块称为构造代码块. java会把构造代码块放到 ...
- java:构造方法:无参构造/有参构造 this static关键字 静态变量 静态方法 代码块 封装 静态常量。
/*构造方法是一种特殊的方法,专门用于构造/实例化对象,形式:[修饰符] 类名(){ }构造方法根据是否有参数分为无参构造和有参构造*/public class Dog { ...
- Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究
Java与C++有一个不同之处在于,Java不但有构造函数,还有一个”初始化块“(Initialization Block)的概念.下面探究一下它的执行顺序与可能的用途. 执行顺序 首先定义A, B, ...
- 10、代码块、构造代码块、静态代码块及main方法之间的关系
1.普通代码块: 在方法或语句中出现在{}之间的类容就称为普通代码块,简称代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,即顺序执行. /*下面第一个类时合法的 ...
随机推荐
- 【puthon基础】之str类字符串
str类字符串是不可变对象 1.创建字符串 s1 = str() #创建一个空字符串 s2 = str("hello") #创建字符串"hello" 2.处理字 ...
- 开源OSS.Social项目进阶介绍和使用展示
在开源OSS.Social微信项目解析的随笔中,我简单给大家分享了进行中微信项目的概要设计,没有全局介绍,没有详细讲解,也没有如何使用,很多朋友估计匆匆一瞥就忙着抢开工红包去了.本着不能马虎的态度,这 ...
- 读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数
1 编译器会默认生成哪些函数 什么时候空类不再是一个空类?答案是用c++处理的空类.如果你自己不声明,编译器会为你声明它们自己版本的拷贝构造函数,拷贝赋值运算符和析构函数,如果你一个构造函数都没有声 ...
- java流和文件 保存字节级数据(写)
重要的知识点: 流的概念: 从数据源到I/O类的输入流(in) 从I/O类到数据接收器的输出流(out) I/O包含子类较多的有四大家族:InputStream,OutputStream,Re ...
- leetcode-1006 Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...
- liunx下search文件内容的几种方式
第一种.使用vim来search内容 /regex_word,从上到下匹配 ?regex_word,从下到上匹配 n是获取下一个匹配字符串,N是获取上一个匹配字符串. 第二种.使用grep命令 gre ...
- linux下apache 的安装
1.进入work目录下:cd /usr/local/work(如没有则自己新建,命令:mkdir /usr/local/work) 2.在woke目录下从网站下载apache并解压:wget http ...
- MINIDVD
import java.util.*; public class MiniDVD { public static void main(String[] args){ //扫描器 Scanner inp ...
- Ant学习总结3(很多的属性,用的时候方便查找)
感谢原作者:http://blog.csdn.net/lipeijs3/article/details/5137160 一. Ant 与 Makefile : GNU Mak ...
- BOM元素之location对象
location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能,它既是window对象的属性,也是document对象的属性:换句话说,window.location和documen ...