建议37: 构造代码块会想你所想 镜像博文:http://www.cnblogs.com/DreamDrive/p/5413408.html http://www.cnblogs.com/DreamDrive/p/5422698.html 上一个建议中我们提议使用构造代码块来简化代码,并且也了解到编译器会自动把构造代码块插入到各个构造函数中,那我们接下来看看编译器是不是足够聪明,能够为我们解决真实的开发问题.有这样一个案例:统计一个类的实例数量.可能你要说了,这很简单,在每个构造函数中加入一个对…
1. 继承的概念 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属性和实例属性).方法(包括类方法和实例方法).构造器和初始化块(包括类的初始化块和实例的初始化块).对于继承中的初始化顺序,又具体分为类的初始化和对象的初始化. 类初始化: 在jvm装载类的准备阶段,首先为类的所有类属性和类初始化块分配内存空间.并在类首次初…
构造器与类同名 每个类可以有1一个以上的构造器 构造器可以有0个,1个或者多个参数 构造器没有返回值,不可以写return 构造器总是伴随着new操作一起调用 构造函数的作用:可以用于给对象进行初始化. 构造函数的小细节:当类中没有定义构造函数时,系统会默认给该类提供一个空参数的构造函数: 什么时候定义构造函数:当分析事物时,该事物存在具备一些特性或者行为,那么就将这些内容定义在构造函数中. 另:不要在构造器中定义与实例域重名的局部变量 class PersonDemo2 { public st…
例子1 public class Client { { System.out.println("执行构造代码块1"); } { System.out.println("执行构造代码块2"); } public Client(){ System.out.println("执行无参构造"); } public Client(int i){ System.out.println("执行有参构造1"); } public static…
Class : StaticFa package edu.bai.du.lime.staticCode; public class StaticFa { // 随着类的声明而执行 static { System.out.println("Fa:静态代码块"); } //只有在类实例化时执行,优先构造函数块 { System.out.println("Fa:构造代码块"); } //只有在类实例化时执行. public StaticFa(){ System.out.p…
在通往"Java技术殿堂"的路上,本书将为你指点迷津!内容全部由Java编码的最佳 实践组成,从语法.程序设计和架构.工具和框架.编码风格和编程思想等五大方面,对 Java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为Java程序员如何编写 高质量的Java代码提出了151条极为宝贵的建议.对于每一个问题,不仅以建议的方式从 正反两面蛤出了被实践证明为十分优秀的解决方案和非常精糕的解决方案,而且还分析了 问题产生的根源,犹如醍醐灌顶,让人豁然开朗. 全书-共12章,第1~ 3…
建议36: 使用构造代码块精炼程序 什么叫代码块(Code Block)?用大括号把多行代码封装在一起,形成一个独立的数据体,实现特定算法的代码集合即为代码块,一般来说代码块是不能单独运行的,必须要有运行主体.在Java中一共有四种类型的代码块: (1)普通代码块 就是在方法后面使用“{}”括起来的代码片段,它不能单独执行,必须通过方法名调用执行. (2)静态代码块 在类中使用static修饰,并使用“{}”括起来的代码片段,用于静态变量的初始化或对象创建前的环境初始化. (3)同步代码块 使用…
JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对…
java中有几种常见的代码块,那怎样区别他们呢? 这里就这些问题,浅谈下我个人的理解. 1.局部代码块 局部代码块,又叫普通代码块.它是作用在方法中的代码块.例如: public void show(){ {  System.out.println("局部代码块运行!"); } } 作用:是控制变量的生命周期. 在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间.因此就有了局部代码块. 2.构造代码块 在类中: 格式:{…
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块:在方法或语句中出现的{}就称为普通代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--"先出现先执行" 2 public class CodeBlock01{ 3 public static void main(String[] args){ 4 5 { 6 int x…