5.1JAVA基础复习——JAVA中的静态代码块、构造代码块、构造函数、局部代码块区别
构造代码块:
在类中定义可以给所有对象进行初始化。
局部代码块:
在方法中定义属性的生命周期。
静态代码块:
在类中定义用于给类调用时属性的初始化
构造函数与构造代码块的区别:
构造函数是给对应的对象进行针对性的初始化。
构造代码块是给所有对象进行初始化
代码如下:
public class Demo {
private static int age;
private static String name;
//静态代码块:给类的属性进行初始化
static{
age = 10;
name = "旺财";
}
//构造代码块:给所有的对象初始化定义在类中方法外。
{
show();
}
public Demo(int age,String name){//有参构造函数
Demo.age =age;
Demo.name = name;
}
public Demo(){//无参构造函数
}
public void show(){ //普通函数
//局部代码块:定义属性的生命周期
{
char sex = '男';//变量sex出了{}后就会被销毁
System.out.println("sex="+sex);
}
Demo.name = "张三";
}
public static void main(String[] args) {
/*当有静态代码块构造代码块构造函数时程序执行流程
* 1.类被调用或创建实例时会执行静态代码块进行初始化执行后age=10 name=旺财。
* 2.创建实例会执行构造代码块调用show方法执行后sex = 男 ,age不变,name = 张三。
* 3.调用有参构造函数传入参数执行后age = 50,name=姚明。
* 执行顺序为:
* 1、静态代码块 :给类的属性进行初始化。
* 2、构造代码块:给所有的对象进行初始化。
* 3、有参或无惨构造(根据实例来定):给指定的对象进行初始化。
* 结果为:sex=男 注意这个是在构造代码块中输出的
* 50 姚明
* */
Demo d = new Demo(50,"姚明");
System.out.println(d.age+"\t"+d.name);
}
}
5.1JAVA基础复习——JAVA中的静态代码块、构造代码块、构造函数、局部代码块区别的更多相关文章
- 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- 3.JAVA基础复习——JAVA中的类与对象
什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...
- 4.JAVA基础复习——JAVA中的构造函数与this关键字
构造函数:构建创造对象时调用的函数 特点: 1.函数名与类名相同. 2.不用定义返回值类型. 3.没有具体的返回值. public class Demo { private int age; priv ...
- 7.JAVA基础复习——JAVA中的设计模式单例模式
设计模式:是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 总体来说设计模式分为23种三大类: 创建型模式,共 ...
- 5.JAVA基础复习——JAVA中的static关键字作用与用法
static关键字: 特点: 1.static是一个修饰符,用于修饰成员.(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量. 2.static修饰的成员被所有的对象共享. 3. ...
- Java 中(静态)变量、(静态)代码块的执行顺序
Java 中(静态)变量.(静态)代码块的执行顺序 非原创 本文讨论 Java 中(静态)变量.(静态)代码块的执行顺序 首先创建 3 个类 1.Foo 类 public class Foo { pu ...
- Java 中的静态嵌套类和非静态嵌套类
Java 中的静态嵌套类和非静态嵌套类 术语:嵌套类分为两类:静态嵌套类和非静态嵌套类.声明 static 的嵌套类称为静态嵌套类,非静态嵌套类也称为内部类. class OuterClass { p ...
- Java中的静态代理实现方式
1.编写一个接口类 如:Subject package com.neusoft.pattern.staticProxy; /** * <p>Title:</p> * <p ...
- Java中List,ArrayList、Vector,map,HashTable,HashMap区别用法
Java中List,ArrayList.Vector,map,HashTable,HashMap区别用法 标签: vectorhashmaplistjavaiteratorinteger ArrayL ...
随机推荐
- webpack打包 基础
001.什么是webpack? 作用有哪些? WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,Ty ...
- linux下压缩解压缩命令
zip/gzip 命令 linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 ...
- 关于在IE浏览器中使用控件问题
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head&g ...
- Dynamics 365 解决方案导出报错
之前导出解决方案异常,按照CRM社区的方法解决成功,但是没有了解原因,今天看到有朋友解答了原因,也分享给大家 先来看看异常 我那时导出的是default解决方案,这是模拟 导出异常 “业务流程错误”- ...
- [Java]直播方案----[接入环信聊天室]+[腾讯云直播]
辛辛苦苦写的,转载请注明一下,这点信任我想还是有的吧,谢谢了. http://www.cnblogs.com/applerosa/p/7162268.html 之前做了直播,一直没时间写,好不容易闲下 ...
- Jquery获取输入框属性file,ajax传输后端,下载图片
Django web开发获取input属性file,可以用request.FILES.get(' ')直接获取到,然后正常拼接路径就可以下载, 但是今天我们来用异步获取file的值在传输后端下载. 1 ...
- 点击按钮如何改变当前窗口的url
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Alibaba, I'm interested in you.
Working for Alibaba is an aspiration for some. For other it’s the possibility of lucrative stock opt ...
- No code signature found. 解决方式
除了网上常说的sudo chmod -R 777 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Deve ...
- #学号 20175201张驰 《Java程序设计》第2周学习总结
教材学习内容总结: 一.第二章: 1:标识符与关键字 2:基本数据类型:四种整数类型(byte.short.int.long).两种浮点数类型(float.double).一种字符类型(char).一 ...