初始化块

/** 初始化块* 初始化变量方式:声明时、构造函数、代码块* 使用static关键字修饰的代码块,称为静态代码块* * 执行顺序:静态代码块>代码块>构造方法* * 静态代码块在类加载时执行,且只会执行一次,主要用于初始化静态变量* 代码块和构造方法在创建对象时执行*/
public class Test01
{public static void main(String[] args){Car car = new Car(60000);// 创建一个对象car.show();// 调用对象的方法System.out.println("-------华丽的分隔线-------\n");Car car2=new Car(80000);car2.show();}
}/** 汽车类*/
class Car
{// 属性String brand = "奇瑞";// 品牌,实例变量double price;// 价格String color;// 颜色static int seat;// 座位数,静态变量public Car(){System.out.println("无参的构造方法");}// 带参的构造方法,用来初始化成员public Car(double price){System.out.println("通过构造方法初始化变量price");this.price = price;}// 代码块{System.out.println("通过代码块初始化变量color");color = "red";}// 静态代码块static{System.out.println("通过静态代码块初始化变量seat");seat=5;}public void show(){System.out.println("品牌:" + brand);System.out.println("价格:" + price);System.out.println("颜色:" + color);System.out.println("座位数:"+seat);}
}

静态变量与代码块

/** static* 静态变量(类变量)* 静态变量为类的所有对象所共有,即为类所有* * 静态成员访问方式:对名名.静态变量  或  类名.静态变量* * 结论:* 1.static可以修饰变量、方法、代码块、匿名类* 2.静态成员在类加载时初始化* 3.静态方法中只能访问静态成员,不能访问非静态成员* 4.普通成员方法中可以访问静态成员* * * 变量类型* 从作用域上划分:局部变量、成员变量* 从变量所属上划分:实例变量、静态变量*/
public class Test02
{public static void main(String[] args){Student stu1 = new Student("赵信");stu1.age = 20;stu1.hobby = "学习Java编程";System.out.println("赵信的爱好:" + stu1.hobby);// 通过对象名访问静态变量stu1.show();stu1.hobby="爱好打魔兽";Student stu2 = new Student("盖伦", 35);//stu2.hobby = "学习Java编程";System.out.println("盖伦的爱好:" + Student.hobby);// 通过类名访问静态变量stu2.show();Student stu3 = new Student("寒冰", 18, "学习Java编程");stu3.show();stu3.print();// 通过对象访问静态方法Student.print();// 通过类名访问静态方法}
}/** 学生类*/
class Student
{String name;// 实例变量int age;// 实例变量static String hobby; // 静态变量// 无参的构造方法public Student(){}// 带一个参数的构造方法public Student(String name){this.name = name;}// 带两个参数的构造方法public Student(String name, int age){this.name = name;this.age = age;}// 带三个参数的构造方法public Student(String name, int age, String hobby){super();this.name = name;this.age = age;this.hobby = hobby;}// 输出学生信息,普通的成员方法public void show(){System.out.println("姓名:" + name + ",年龄:" + age + ",爱好:" + hobby + "\n");/** 可以在普通成员方法中访问静态成员*/print();System.out.println(hobby);}// 静态方法public static void print(){System.out.println("俺是静态方法。。。。。");//System.out.println("静态方法中输出-姓名:"+name);//静态方法中不能访问非静态成员System.out.println("静态方法中输出-爱好:"+hobby);//静态方法中只能访问静态成员}
}

类中成员

/** 类中成员* * this表示当前对象* 1.访问类中的成员* 2.解决局部变量和成员变量名称冲突* 3.调用类中重载的构造方法*/
public class Test03
{public static void main(String[] args){Dog dog = new Dog("旺财", 2, "雌");dog.show();}
}/** 狗狗类*/
class Dog
{// 静态变量static String hobby;// 成员变量String name;int age;String sex;// 自定义无参的构造方法public Dog(){super();// 调用父类无参的构造方法System.out.println("无参的构造方法");}public Dog(String name){this();// 调用类中重载的构造方法System.out.println("带有一个参数的构造方法");this.name = name;}// 重载的构造方法,带有两个参数的构造方法public Dog(String name, int age){this(name);// 调用类中重载的构造方法this.age = age;System.out.println("带有两个参数的构造方法");}// 重载的构造方法,带参的构造方法,用于初始化成员信息public Dog(String name, int age, String sex){this(name, age);// 调用类中重载的构造方法this.sex = sex;System.out.println("带有三个参数的构造方法");}// 成员方法public void show(){System.out.println("名称:" + name + ",狗龄:" + age + "性别:" + sex);}// 静态方法public static void play(){System.out.println("你正在接飞盘。。。。");}// 普通代码块{System.out.println("普通代码块");sex = "雄";}// 静态代码块(静态初始化块)static{System.out.println("静态代码块");hobby = "接飞盘 ";}
}

JAVA学习笔记(九)- 初始化块与静态代码块相关推荐

  1. java中类/对象的初始化顺序以及静态代码块的使用

    为什么80%的码农都做不了架构师?>>>    感谢:http://www.cnblogs.com/xiaoQLu/archive/2011/04/18/2020181.html 转 ...

  2. java 非静态 初始化_Java非静态代码块和实例初始化过程

    1 非静态代码块 非静态代码块特点 ①可以为实例变量(非静态的属性)初始化 ②每次创建对象的时候,都会执行一次,且先于构造器执行 ③若有多个非静态的代码块,那么按照定义的顺序从上到下依次执行 ④代码块 ...

  3. java中普通代码块,构造代码块,静态代码块的区别及代码示例

    本文转自:http://www.cnblogs.com/sophine/p/3531282.html 执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法. 其 ...

  4. Java中普通代码块,构造代码块,静态代码块区别

    Java中普通代码块,构造代码块,静态代码块区别及代码 示例 //执行顺序:(优先级从高到低.)静态代码块>mian方法 >构造代码块>构造方法. 其中静态代码块只执行一次.构造代码 ...

  5. 关于java中普通代码块、构造代码块与静态代码块

    1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现"{普通代码的执行语句}"的就称为 ...

  6. java代码块是对象吗_面向对象(Java中普通代码块,构造代码块,静态代码块区别及代码示例)...

    //静态代码块:在java中使用static关键字声明的代码块.静态块用于初始化类,为类的属性初始化.每个静态代码块只会执行一次.由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行. ...

  7. Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

    Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例 2018年05月08日 08:12:48 WJN不忘初心 阅读数:34 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静 ...

  8. java 代码块(局部代码块、实例代码块、静态代码块、同步代码块)

    1 引言 代码块是类的成分之一:成员变量,方法,构造器,代码块,内部类. 在Java中,使用 { } 括起来的代码被称为代码块(Code block) 1.1 代码块的分类 根据其位置和声明的不同,可 ...

  9. Java代码块(代码块与静态代码块使用细节及调用顺序)

    目录 1.代码块的基本介绍 2.静态代码块 类什么时候加载[重点] 创建对象实例时(new) 创建子类对象实例时,父类也会被加载 使用类的静态成员时(静态属性,静态方法) 3.代码块的使用小细节 普通 ...

最新文章

  1. 济南python工资一般多少钱-济南Python人工智能编程
  2. 《互联网思维》读后感与笔记
  3. Python脚本完美解决Linux环境解压.zip文件乱码问题
  4. 2016年科技阅读列表
  5. boost::hana::overload_linearly用法的测试程序
  6. 防止表单重复提交的解决方案整理
  7. 泰坦尼克号 数据分析_第1部分:泰坦尼克号-数据分析基础
  8. Cloudera-Manager-agent 误删恢复
  9. [W班]第二次结对作业成绩评价
  10. MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
  11. Hbase namespace操作入门
  12. gradle脚本源码查看环境搭建
  13. 汇编语言数据段查找ASCII码并回显
  14. amos调节变量怎么画_AMOS结构方程教程,SPSS调节效应分析操作与结果的详细解读...
  15. pspice计算机仿真实验,PSPICE仿真实验 反馈放大器
  16. 互联网知识大全:软件开发中和各种开发软件文档的常见的英文缩写,还不快快收藏!
  17. java 监测粘贴板事件_Java 监视系统剪贴板
  18. EJB是什么Java使用EJB容器的详细概述
  19. 浅析 ContentSizeFitter 以及 Horizontal Layout Group 嵌套问题
  20. js 字符串删除首尾_js去除字符串首尾空格

热门文章

  1. 弘辽科技:淘宝店铺为什么会突然关闭?封店原因有哪些?
  2. 竞技游戏专用耳机:英雄联盟手游蓝牙耳机推荐
  3. pyecharts绘制双y轴图并将html文件转为png图片格式
  4. 碎片化学习,这些网站必不可少!
  5. English trip V1 - B 19. Life of Confucius 孔子的生活 Teacher:Patrick Key:
  6. Android 12.0 自定义仿小米全面屏手势导航左右手势滑动返回UI效果
  7. FT232R USB UART驱动安装
  8. install package vif包_Nexus上传自己本地jar包 和下载maven中央仓库里的包到nexus - 剑器近丶...
  9. 【网络】实战!我用 Wireshark 让你“看见“ TCP (学习到TCP 流量控制)
  10. 邻接矩阵对称归一化的作用