面向对象---java代码块
概念:代码块是指用{}括起来的一段代码。
根据位置及声明的关键字不同,代码块可分为普通代码块、构造块、静态代码块、同步代码块4种。
1.普通代码块:
直接在方法中或在语句中定义
public class Test2 {
public static void main(String[] args) {
{ //定义普通代码块
int x = 30; //定义局部变量
System.out.println("普通代码块 x="+x);
}
int x = 100; //与局部变量名称相同
System.out.println("代码块之外 x="+x);
}
}
运行结果:
普通代码块 x=30
代码块之外 x=100
2.构造块:
构造代码块是直接写在类中的代码块。
public class Demo {
{ //定义构造块
System.out.println("1、构造块。");
}
public Demo(){ //定义构造方法
System.out.println("2、构造方法");
}
}
public class Test2 {
public static void main(String[] args) {
new Demo();
new Demo();
}
}
执行结果:
1、构造块。
2、构造方法
1、构造块。
2、构造方法
从输出结果发现:构造块优于构造方法执行,而且每次实例化对象时都会执行构造块。
静态代码块:
静态代码块是使用static关键字声明的代码块。
public class Demo {
{ //定义构造块
System.out.println("1、构造块。");
}
static{
System.out.println("0、静态代码块");//定义静态代码块
}
public Demo(){ //定义构造方法
System.out.println("2、构造方法");
}
}
public class Test2 {
static{ //在主方法所在的类中定义静态代码块
System.out.println("在主方法所在的类中定义静态代码块");
}
public static void main(String[] args) {
new Demo(); //实例化对象
new Demo();
}
}
执行结果:
在主方法所在的类中定义静态代码块
0、静态代码块
1、构造块。
2、构造方法
1、构造块。
2、构造方法
从输出结果发现:静态代码块优于主方法执行,在类中定义的静态代码块优于构造方法执行,而且不管产生多少个对象,静态代码块只执行一次。
4.同步代码块:
在代码块上加上synchronized关键字,主要使用在多线程上,此代码块称为同步代码块格式如下:
synchronized(同步对象){
需要同步的代码;
}
后续多线程再详细练习。
面向对象---java代码块的更多相关文章
- Java代码块详解
Java中代码块指的是用 {} 包围的代码集合,分为4种:普通代码块,静态代码块,同步代码块,构造代码块 普通代码块: 定义:在方法.循环.判断等语句中出现的代码块 修饰:只能用标签修饰 位置:普通代 ...
- java代码块的理解
最近在复习java基础,在看到java代码块的时候,忽然发现自己貌似对于java代码块一无所知,于是赶紧对着一些资料实战演练了一把. 对于java代码块,不难根据名称看出其实就是一些java语句的集合 ...
- java代码块执行顺序
父类 public class Father { public Father() { System.out.println("父类构造PUBLIC father"); } stat ...
- 夯实Java基础系列7:一文读懂Java 代码块和执行顺序
目录 Java中的构造方法 构造方法简介 构造方法实例 例 1 例 2 Java中的几种构造方法详解 普通构造方法 默认构造方法 重载构造方法 java子类构造方法调用父类构造方法 Java中的代码块 ...
- 夯实Java基础系列7:Java 代码块和执行顺序
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- Java 代码块详解
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文原链接:https://www.cnblogs.com/chloneda/p/java-c ...
- 0023 Java学习笔记-面向对象-初始化代码块
初始化代码块 在18篇-类的基本要素中说到,类的三大成员:成员变量.构造方法.方法,初始化代码块是类的第4个成员 初始化块用于对类或者对象的初始化, 一个类的初始化块可以有0-多个,按先后顺序执行 跟 ...
- 《java入门第一季》之面向对象(代码块一网打尽)
上一篇里面对代码块做出介绍,这里给出一个面试题,加深印象. 如有毁三观的地方,请见谅.拒绝黄赌毒 写程序的执行结果. class Student { static { System.out.print ...
- 08 java代码块的概述和分类
08.01_面向对象(代码块的概述和分类) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代 ...
随机推荐
- 【分享】史上最全的Python电子书教程资源下载
网上搜集的,点击即可下载,希望提供给有需要的人^_^ O'Reilly.Python.And.XML.pdf 2.02 MB OReilly - Programming Python 2nd. ...
- Coding Dojo
Coding Dojo 发表于 2012-10-25 什么是Coding Dojo? Coding Dojo是一个学习的过程.一些程序员(通常是15-20人)在一起编程解决一个程序问题.一边编程,一边 ...
- linux 之 snprintf函数用法
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...); 函数说明:最多从源串中拷贝n-1个字符到 ...
- 基于Redis的CustomerSessionProvider(一)
CustomerSessionProvider需要实现SessionStateStoreProviderBase 在设计Redis Session Provider的时候,需要考虑 1.是否每个用户的 ...
- IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)
最近滑动菜单比较流行,像facebook和人人等都在使用滑动菜单,今天做了一个小demo大体效果如下: 这次用了一个开源的项目ECSlidingViewController这个也是一个挺著名的托管在G ...
- ul和li实现分两列(多列)布局显示
简单语句实现DIV+CSS分两列(多列)布局显示 <style type="text/css"> .my ul { width: 210px; } .my li { w ...
- 解决GOOGLE不能用的办法
解决GOOGLE不能用的办法 首先平时用用百度还是足够了,但是说实话,百度在进行一些尝试搜索时真的没GOOGLE好用,经常找到一大堆广告,却不是自己想要的,比如搜索里面的双引号.and.site.fi ...
- jquery选择器之属性过滤选择器
<style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray } </style> ...
- Eclipse RCP /Plugin移除Search对话框
RCP:如何移除Search对话框中不需要的项 2013-08-18 22:31 by Binhua Liu, 231 阅读, 0 评论, 收藏, 编辑 前言 很久没写文章了,准备写一系列关于Ecli ...
- Linux CPU监控指标
Linux CPU监控指标 Linux提供了非常丰富的命令可以进行CPU相关数据进行监控,例如:top.vmstat等命令.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执 ...