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

成都建设银行网站首页windows优化软件哪个好

成都建设银行网站首页,windows优化软件哪个好,益阳网页设计,深圳网站建设套餐希望像唠嗑一样,one step one futher。 目录 (1)代码块的应用场景 (2)代码块的细节 1.static 代码块只加载一次 2.当调用类的静态成员时,类会加载 3. 使用类的静态成员时,static代码块会被执…

 希望像唠嗑一样,one step one futher。

目录

(1)代码块的应用场景

 (2)代码块的细节

1.static 代码块只加载一次

 2.当调用类的静态成员时,类会加载

3. 使用类的静态成员时,static代码块会被执行,但普通代码块不会执行

4.创建对象时,静态成员、普通成员、 构造器的调用顺序

5.有继承关系时,静态成员、普通成员、 构造器的调用顺序

6.静态代码块中只能调用静态成员​


基于韩顺平老师的课进行Java知识的巩固练习 

(1)代码块的应用场景

 假设有以下雇员类,在该类的每个构造函数中输出“我是员工”这句话,不免有些重复并且造成内存浪费。

 public class Employee {private String name;private int id;private int salary;public Employee(String name) {System.out.println("我是员工");this.name = name;}public Employee(String name, int id) {System.out.println("我是员工");this.name = name;this.id = id;}public Employee(String name, int id, int salary) {System.out.println("我是员工");this.name = name;this.id = id;this.salary = salary;}}

如果用代码块则可以解决重复的问题,由此可以看出代码块可以初始化并且解决重复语句的问题(代码块执行顺序要比构造函数高)

 public class Employee {private String name;private int id;private int salary;{System.out.println("我是员工");}public Employee(String name) {this.name = name;}public Employee(String name, int id) {this.name = name;this.id = id;}public Employee(String name, int id, int salary) {this.name = name;this.id = id;this.salary = salary;}}

 (2)代码块的细节

1.static 代码块只加载一次

如果是普通代码块,每创建一个对象它就会执行一次代码块,而static代码块无论是创建多少个对象(>=1)都只会执行一次。

 2.当调用类的静态成员时,类会加载

注意创建子类对象时,父类也会被加载。先加载父类代码块,再加载子类代码块。当创建了一个对象时,调用该对象的静态成员时,类就会被加载。

3. 使用类的静态成员时,static代码块会被执行,但普通代码块不会执行

由下列看出,当没有创建对象时,使用类加载去访问静态成员时,static代码块也会被加载(只加载一次),但普通代码块不会被加载。

4.创建对象时,静态成员、普通成员、 构造器的调用顺序

 在创建对象时,调用顺序是这样的:先调用静态(属性或方法按顺序调用),然后是普通代码块和普通属性,最后才是构造器的调用。 

5.有继承关系时,静态成员、普通成员、 构造器的调用顺序

  

由下列程序可以观察到,如果有两个类是继承关系,两个类都有静态、普通、构造方法。创建一个子类对象,则执行的顺序是:

(1)先调用父类static,然后是子类static。先完成父子类的静态属性

(2)父类的普通方法,然后是父类的构造器,完成父类后。

(3)子类的普通方法,最后是子类的构造器,最后完成子类。

class Employee{static{System.out.println("Employee静态代码块");}public Employee() {System.out.println("Employee构造器");}
}
class Manager extends Employee{static{System.out.println("Manager静态代码块");}public Manager(){System.out.println("Manager构造器");}
}
class Test{public static void main(String[] args) {Manager manager = new Manager();}
}

 

6.静态代码块中只能调用静态成员

 由下图看出当在静态代码块中访问非静态成员是不允许的。但在普通代码块中则可以访问静态或者非静态成员。

http://www.ds6.com.cn/news/79602.html

相关文章:

  • vr网站制作it培训机构出来能找到工作吗
  • 如何做网页设计视频播放北京百度seo排名点击软件
  • 荷兰网站后缀淘宝关键词查询工具哪个好
  • 免费网站服务器推荐网站怎样优化文章关键词
  • 网站备案信息真实核验单 个人小升初最好的补课机构排行榜
  • 做网站都要会些什么seo怎么推排名
  • 汉字域名的网站有哪些百度推广登录后台
  • 预付做网站订金怎么做账营销计划
  • 长春专业做网站的公司有哪些数据分析师培训机构推荐
  • 石家庄推广网站seo站长综合查询
  • 海宁网站建设怎么开发一个网站
  • 规划电子商务网站建设方案西安网站优化培训
  • 先用ps后用dw做网站网上销售
  • 做网站设计是什么专业附近学电脑培训班
  • wordpress 数据库配置错误seo公司培训课程
  • PHP 网站搜索怎么做免费建站系统
  • 做网站用母版页不好么搜狗站长工具平台
  • 建网站靠什么盈利百度站长之家
  • 找设计师的网站seo网站优化培训公司
  • 哪个网站专门做母婴私域运营软件
  • 博物馆网站建设说明山西网页制作
  • 网站开发实训报告google推广 的效果
  • 这样做网站推广知识付费小程序搭建
  • 专业定制网站优秀营销软文范例800字
  • thinkphp做网站后台网站快速排名推荐
  • 做政府网站哪家公司好淘宝直通车推广怎么收费
  • 上海徽与章网站建设宗旨常用的关键词挖掘工具有哪些
  • flash做企业网站宣传片域名访问网站怎么进入
  • 建企业网站用什么源码今天重大新闻头条新闻
  • 深圳福田华丰大厦网站建设营销软文范例大全