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

父类与子类的执行顺序

 
package com.bing.test.fatherson;
/**
 * 测试父子关系
 * @author bing
 * @since 2017/3/3
 * 
 * Father father=new Father("父亲的名字");
 * father.speak();
 * --父类的静态代码块--
 * --父类的非静态代码块--
 * --父类的有参构造函数--父亲的名字
 * --父类的方法--
 */
public class Father {
	
	private String name;
	
	static{
	   System.out.println("--父类的静态代码块--");
	}
	
	{
	   System.out.println("--父类的非静态代码块--");

	}
	
	public Father(){
		System.out.println("--父类的无参构造函数--");
	}
	
	public Father(String name){
		this.name = name;
		System.out.println("--父类的有参构造函数--"+this.name);
	}
	
	public void speak(){
	    System.out.println("--父类的方法--");
	}
}
 
 
 
package com.bing.test.fatherson;

/**
 * 
 * @author bing
 * @since 2017/3/4
 * Son son=new Son("儿子的名字");
 * son.speak();
 * --父类的静态代码块--
 * --子类的静态代码块--
 * --父类的非静态代码块--
 * --父类的无参构造函数--
 * --子类的非静态代码块--
 * --子类的有参构造函数--儿子的名字
 * --子类Override了父类的方法--
 * 
 * Father fa = new Son("儿子的名字");
 * fa.speak();
 * --父类的静态代码块--
 * --子类的静态代码块--
 * --父类的非静态代码块--
 * --父类的无参构造函数--
 * --子类的非静态代码块--
 * --子类的有参构造函数--儿子的名字
 * --子类Override了父类的方法--
 */
public class Son extends Father{
	 private String name;

	 static{
	     System.out.println("--子类的静态代码块--");
	 }

	 {
         System.out.println("--子类的非静态代码块--");
	 }

	 public Son(){
		 System.out.println("--子类的无参构造函数--");
	 }
	 
	 public Son(String name){
		 this.name = name;
		 System.out.println("--子类的有参构造函数--"+this.name);
	 }
	 
	 @Override
     public void speak(){
         System.out.println("--子类Override了父类的方法--");
     }  
}

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Eclipse 打开时总是弹出welcome
  • Ubuntu 7z安装
  • build.xml
  • Java语言JDBC数据库
  • 数组和链表的区别
  • JAVA监听器原理
  • ubuntu 信息获取
  • java中逻辑右移;算术右移的区别
  • Java中的接口继承
  • ftp测试练习
  • JTabel鼠标按下与放开getValueIsAdjusting()
  • display.syncExec方法例子
  • 常用的网络
  • Netty 5用户指南
  • netty 学习 (4)混合使用coder和handler
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • centos安装java运行环境jdk+tomcat
  • ES2017异步函数现已正式可用
  • Fabric架构演变之路
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Javascript编码规范
  • KMP算法及优化
  • node.js
  • python大佬养成计划----difflib模块
  • Swift 中的尾递归和蹦床
  • win10下安装mysql5.7
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 前端
  • 让你的分享飞起来——极光推出社会化分享组件
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 移动端唤起键盘时取消position:fixed定位
  • k8s使用glusterfs实现动态持久化存储
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (02)Hive SQL编译成MapReduce任务的过程
  • (02)vite环境变量配置
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matlab)使用竞争神经网络实现数据聚类
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (算法)硬币问题
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)Docker基本介绍
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core 外观者设计模式 实现,多种支付选择
  • .net dataexcel winform控件 更新 日志
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net Remoting(分离服务程序实现) - Part.3