java类中代码执行顺序
java类中代码执行顺序 首先,没有学java或者不知道类继承的,可以不用浪费时间乐,直接左上角,看多了有害。 public class HelloWorld { private int age; private String name; private String WorkNumber; public HelloWorld(){} public HelloWorld(String bb) { System.out.println("父类构造函数开始执行"); } { System.out.println("父类非静态代码块执行"); } static{ System.out.println("父类静态代码块执行"); } void run() { System.out.println("正常方法执行"); } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public String getWorkNumber() { return WorkNumber; } public void setWorkNumber(String WorkNumber) { this.WorkNumber=WorkNumber; } public static void main(String[] args){ System.out.println("main方法执行"); HelloWorld demo=new HelloWorld("bb"); demo.run(); } } 执行结果如下图: package exclass; public class HelloWorld { private int age; private String name; private String WorkNumber; public HelloWorld(){} public HelloWorld(String bb) { System.out.println("父类构造函数开始执行"); } { System.out.println("父类非静态代码块执行"); } static{ System.out.println("父类静态代码块执行"); } void run() { System.out.println("正常方法执行"); } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public String getWorkNumber() { return WorkNumber; } public void setWorkNumber(String WorkNumber) { this.WorkNumber=WorkNumber; } } helloworld1.class: package exclass; public class helloworld1 { public static void main(String[] args){ System.out.println("main方法执行"); HelloWorld HW=new HelloWorld("BB"); HW.run(); } } 运行截图如下: 那么讲远一点,假设我们这有一个父类,一个子类。在子类执行的时候,父子类的处理顺序是什么呢?(SOLO父子局) package exclass; public class HelloWorld { public int age; public String name; public String WorkNumber; public HelloWorld(){} public HelloWorld(String bb) { System.out.println("父类构造方法开始执行"); } { System.out.println("父类非静态代码块执行"); } static{ System.out.println("父类静态代码块执行"); } void run() { System.out.println("父类一般方法执行"); } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public String getWorkNumber() { return WorkNumber; } public void setWorkNumber(String WorkNumber) { this.WorkNumber=WorkNumber; } } chilclass.class: package exclass; public class chilclass extends HelloWorld{ public chilclass(){ System.out.println("子类构造方法执行"); } static{ System.out.println("子类静态代码块执行"); } { System.out.println("子类非静态代码块执行"); } @Override void run(){ System.out.println("子类一般方法执行"); } public static void main(String[] args){ System.out.println("main方法执行"); chilclass ch=new chilclass(); ch.run(); } } 执行顺序为:父类静态代码块>子类静态代码块>当前主程序>父类非静态代码块>父类构造函数>子类非静态代码块>子类构造方法>子类一般方法,如果是外部调用chilclass那么main开头。结合父子类关系(你大爷还是你大爷)已经前面对比的结论其实可以直接推出,这里只是佐证。 总而言之......你以为是标准结局其实是还有情况哒!(非常想说的台词-1),我岸边黄某最喜欢对自以为是的猴子说NO(非常想说的台词-2) 一、通过子类调用了父类的静态字段,子类不会被初始化 |
java类中代码执行顺序相关推荐
- Java基础之代码执行顺序深入解析
Java基础之代码执行顺序深入解析 结合实例代码分析: public class demo6 {public static void main(String[] args) {new Son();Sy ...
- 日志打印、main函数中代码执行顺序
文章目录 1.设置时区 2.日志打印 3.main函数中代码执行顺序 1.设置时区 我们要设置成 CST 时区,以保证正确地显示日期.时间. 我们常看到的时区有如下几个: PST:美国太平洋标准时间, ...
- Java类中变量初始化顺序
下面代码显示了静态初始化代码块,非静态实例初始化代码块,构造函数 等在Java中从代码载入内存到代码执行过程的执行顺序: import static net.mindview.util.Print.* ...
- html中代码执行顺序
在html中代码从上而下执行,从head到body到body以下,包括外部引用的js,所有调用元素必须在它加载完成后调用,同时window.onload中内容在整个html加载完成后加载. 转载于:h ...
- Java类中的初始化顺序
根据<Thinking in Java>相关章节及自己的理解举例来说明类初始化顺序. public class InitialOrder {private static String st ...
- java代码加载_java类中代码加载顺序
package org.senssic; /** * 一般顺序:静态块-->静态变量-->成员变量-->构造方法-->静态方法(或非静态方法,需要调用) * 1.静态代码块(只 ...
- Java类中各成员的执行顺序
属性.方法.构造方法和自由块都是类中的成员,在创建对象时,各成员的执行顺序如下: (1)父类静态成员和静态初始化块,按在代码中出现的顺序依次执行. (2)子类静态成员和静态初始化块,按在代码中出现的顺 ...
- java类中的static块_java类中static代码块的执行次数
java类中 static静态代码块的执行次数 1.在类加载的init阶段,类的类构造器中会收集所有的static块和字段并执行,static块只执行一次,由JVM保证其只执行一次. 2.直接看示例 ...
- java 执行顺序_Java代码执行顺序
程序中代码执行的顺序非常重要,稍有不慎便会是程序运行出错,那么我将结合实例来分析代码中的执行. 名词解释 首先了解几个名词: 非静态代码块 直接由 { } 包起来的代码,称为非静态代码块 静态代码块 ...
- Java代码执行顺序
Java代码执行顺序 1. Java初步认知 2. Javayun.java例子 3. 反编译Javayun.class文件 4. 分析Javayun_dxdump文件 5. 再来一个网上的例子Jav ...
最新文章
- NOIP2013 货车运输
- pythonscrapy爬虫_Python 爬虫:Scrapy 实例(二)
- 简说JAVA8引入函数式的问题
- proguard java 教程,[Gradle中文教程系列]-跟我学Gradle-使用proguard混淆你的spring boot应用...
- LDO的最小输入输出压差和最小负载电流
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
- python +appium实现原理_python_appium使用原理
- pip install ipython出错_Python -- 关于pip安装Ipython
- 计算机组成与体系结构之Flynn分类法
- java5 离线安装包_ElasticSearch 5.5 离线环境的完整安装及配置详情,附kibana、ik插件配置及安装包下载路径...
- 程序员入门编程,看这10本书,少走10年弯路
- 计算机软件工程自考,自考软件工程试题及答案2021年10月
- 企业微信下载素材库文件
- 计算机mc代表什么意思6,我的世界:萌新无法理解的6个老梗,唯老MC才懂!你能看懂几个?...
- JavaWeb 获取客户端的真实IP地址
- 爬虫(1)-正则化表达式爬取猫眼电影排行榜前100部电影
- extmail mysql数据库 重启_extmail数据库dspam表修复
- 安装TC2层出现的问题
- 鸿蒙相关的词语,鸿蒙的意思_鸿蒙是什么意思_鸿蒙的近义词_反义词_读音-沪江在线词典...
- python执行bash命令
热门文章
- 红米AirDots无线蓝牙耳机成功连接WIN7电脑
- java在线反向编译网站
- 虎牙直播源解析【可选清晰度】
- C语言库函数——string.h
- svn删除远程文件和忽略文件
- 基于javaweb+jsp的运动会体育比赛管理系统(带报告文档)
- linux rtl8111/8168网卡驱动下载,Debian Linux 编译 Realtek (RTL8111/RTL8168) 网卡驱动
- 数据库(SQL)学习——基础篇一:初识数据库
- 使用Object、param标签在页面显示PDF文件
- KEmulator 屏蔽内存查看器功能