当前位置: 首页 > news >正文

永川集团网站建设长沙好的seo外包公司

永川集团网站建设,长沙好的seo外包公司,计生网站生育文明建设,建设部房地产网站代码块 SE.10.0…02.28 非静态普通代码块:定义在方法内部的代码块,不用任何关键字修饰,又名构造代码块、实例代码块 静态代码块:用static修饰的代码块 非静态代码块 public class Test {public static void main(String[] args…

代码块
SE.10.0…02.28

非静态普通代码块:定义在方法内部的代码块,不用任何关键字修饰,又名构造代码块、实例代码块
静态代码块:用static修饰的代码块

非静态代码块

public class Test {public static void main(String[] args) {{//普通代码块int a = 10;System.out.println(a);//打印10}int a = 100;System.out.println(a);//打印0100}
}

构造代码块(实例代码块,非静态代码块)

class Student {private static String classroom = "八年级二班";//班级private String name;//姓名private int age;//年龄public Student(String name, int age) {this.name = name;this.age = age;}{System.out.println("构造代码块/非静态代码块/实例代码块,一般用于初始化非静态的对象属性");System.out.println("而且在顺序上他会比构造方法先被编译器调用");name = "baixian";//所以这里对象实例化后的name应该是白线,因为构造方法最后运行}
}public class Test {public static void main(String[] args) {Student student = new Student("白线",18);}
}

但是如果我的构造方法是空的,或者我没有写构造方法,那么实例化就赋值的就是我构造代码块里面的值

class Student {private static String classroom = "八年级二班";//班级private String name;//姓名private int age;//年龄public Student() {}{System.out.println("构造代码块/非静态代码块哦/实例代码块吗,一般用于初始化非静态的对象属性");System.out.println("如果构造代码为空,那么实例化的值就会优先选择这");name = "baixian";//所以这里对象实例化后的name应该是baixian}public String getName() {return name;}}public class Test {public static void main(String[] args) {Student student = new Student();System.out.println(student.getName());}
}

那么如果定义类的成员变量的时候初始就附了值,构造代码块里也赋了值,那么究竟实例化成哪一个的

class Student {private String classroom = "八年级二班";//班级private String name = "白线";//姓名private int age;//年龄{System.out.println("无论是一开始赋值,还是构造代码块赋值,本身都是非静态的,所以谁最后执行,谁就是实例化都的值");this.name = "baixian";//所以这里对象实例化后的name应该是白线}public Student() {}public String getName() {return name;}}public class Test {public static void main(String[] args) {Student student = new Student();System.out.println(student.getName());}
}

实际底层是编译器将构造代码块(非静态代码块)全部拷贝到构造方法里面,并且放在最前面。这样就能更深刻理解是这样的一个执行顺序了。

静态代码块

只要类被加载,就会先执行静态代码块,并且无论实例化几次,静态代码块只会被执行一次

class Student {static {System.out.println("执行静态代码块");}private String classroom = "八年级二班";//班级private String name = "白线";//姓名private int age;//年龄{System.out.println("执行非静态代码块");}public Student() {}}public class Test {public static void main(String[] args) {Student student1 = new Student();Student student2 = new Student();}
}

在这里插入图片描述

在继承背景下的静态代码块与非静态代码块,构造方法的执行顺序

看下面的代码思考123456这六行代码的执行顺序

class Animal {static {System.out.println("Animal static{}");//1}public String name;public int age;{System.out.println("Animal{}");//2}public Animal() {System.out.println("Animal()");//3}
}class Dog extends Animal {static {System.out.println("Dog static{}");//4}{System.out.println("Dod{}");//4}public Dog() {System.out.println("Dog()");//6}public void wangwang() {System.out.println(name + "汪汪叫");//5}
}public class Test {public static void main(String[] args) {Dog dog = new Dog();}
}

在这里插入图片描述
1、父类静态代码块优先于子类静态代码块执行,且是最早执行
2、父类实例代码块和父类构造方法紧接着执行
3、子类的实例代码块和子类构造方法紧接着再执行
4、第二次实例化子类对象时,父类和子类的静态代码块都将不会再执行

http://www.yidumall.com/news/86447.html

相关文章:

  • 专业做外贸网站东莞百度推广优化公司
  • 布吉网站建设哪家公司靠谱广州排前三的seo公司
  • 怎么做淘宝网站推广企业网站建设方案模板
  • 南阳市建设局网站连云港seo优化公司
  • 可以做锚文本链接的网站青岛网站
  • 短剧小程序代理广州seo网络推广员
  • 家居网站建设平台抖音关键词用户搜索排名靠前
  • 四川网站开发网站建设公司排行榜
  • 网站统计关键词电子商务是干什么的
  • wordpress 百度站长怎么做推广和宣传平台
  • 品牌网站建设浩森宇特电商seo优化是什么
  • 做地产的设计网站百度收录网站入口
  • 免费建立网站教程抖音矩阵排名软件seo
  • o2o网站模版惠州抖音seo
  • 做网站图片大小如何建网站详细步骤
  • 如何查询网站的点击量网络营销机构官方网站
  • 修改wordpress文章发布时间月日班级优化大师使用心得
  • 利用小说网站做本站优化黄冈网站建设收费
  • 做窗帘店的网站沈阳seo搜索引擎
  • 长沙网站优化分析网站收录免费咨询
  • 儿童摄影网站建设windows优化大师的优点
  • 怎么做全网小说网站手机清理优化软件排名
  • 淘宝上做网站行吗全球最大的磁力搜索引擎
  • 品牌网站部门建设方案吉安seo
  • 什么网站可以兼职做鸭子直播营销策划方案范文
  • 艾佳工业设计关键词优化价格表
  • 高端移动网站开发公司网页
  • 自适应网站模板怎么做广州公司关键词网络推广
  • 福安网站建设天津seo推广服务
  • 广州市公司网站建设企业怎么在百度发布自己的文章