java 对象初始化和代码块初始化顺序
- class A
- {
- public A(){
- System.out.println("测试!!!!!!!!!!!");
- }
- }
- class Demo19 extends A
- {
- {
- x=7;//代码块初始化
- System.out.println("hello world!测试代码块的执行顺序!AAAAAAAAAAA");
- }
- public int x=1;//这里不会初始化变量值 只会声明变量
- public int y=2;//这里不会初始化变量值 只会声明变量
- public Demo19(){
- //super();
- //相当于 x=7
- //然后x=1;
- //y=2;
- //y=13;
- }
- public Demo19(int d_x,int d_y)
- { //super();
- //x=7;
- //x=1;
- //y=2;
- //y=13;
- x=d_x;
- y=d_y;
- //super();//假如显示的调用 那么是不能放在这里初始化的
- }
- //代码块的执行顺序是按照代码块的顺序执行的
- //代码块的执行时间:在对象初始化的时候执行!!!!!!!!!!!!!
- {
- y=13;//代码块初始化
- System.out.println("hello world!测试代码块执行的顺序!BBBBBBBBBBBB");
- }
- //构造函数的代码块
- public static void main(String[] args)
- {
- //这里初始化的时候就跟上面的初始化差不多
- Demo19 demo=new Demo19();
- System.out.println("测试代码块:x="+demo.x+" ,y="+demo.y);
- //这里的初始化相当于上面的那个操作
- Demo19 demoOne=new Demo19(12,45);
- System.out.println("测试代码块:x="+demoOne.x+" ,y="+demoOne.y);
- System.out.println("其他的顺序是不变的!这个是比较重要的");
- System.out.println("代码块的使用!");
- }
- }
抽象类的初始化:
- abstract class A
- {
- String name;
- String id;
- public abstract void test();
- }
- abstract class B extends A
- {
- //子类也可以是抽象类,不实现父类的方法
- }
- class C extends A
- {
- public void test(){
- System.out.println("子类假如不是抽象类 那么必须实现父类的方法");
- }
- }
- abstract class D1
- {
- /* 抽象类中也是有构造函数的,只是这个只能子类初始化 */
- D1(){
- System.out.println("测试抽象类的构造函数!");
- }
- static String name="什么是你";
- }
- class D extends D1
- {
- D(){
- System.out.println("子类调用父类的构造函数");
- }
- public void test(){
- System.out.println(this.name);
- System.out.println("假如抽象类中没有抽象方法,那么继承也是没有问题的");
- }
- }
- class Demo5
- {
- public static void main(String[] args)
- {
- D d =new D();
- d.test();
- System.out.println("抽象类!!!!!");
- System.out.println("类不支持多重继承!!!!!!!!!!!!!!!!");
- }
- }
java 对象初始化和代码块初始化顺序的更多相关文章
- java 子类的实例化和代码块初始化过程
1,子类的实例化 1,子父类中的构造函数的特点. 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 为什么呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 子类 ...
- Java 中静态代码块初始化问题测试
Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...
- Java基础6:代码块与代码加载顺序
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- java代码块执行顺序
父类 public class Father { public Father() { System.out.println("父类构造PUBLIC father"); } stat ...
- java静态代码块/静态属性、构造块、构造方法执行、main方法、普通代码块的顺序
java静态代码块/静态属性.构造块.构造方法执行.main方法.普通代码块的顺序 这也是在笔试中的一个重要的考点,就有一个输出语句让你写出输出的结果. 理论知识: 静态代码块是:属于类的,在类加载时 ...
- Java面试题 静态代码块 构造代码块 构造方法 的执行顺序
JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public cl ...
- Java中的构造代码块
代码块 ----a静态代码块 ----b构造代码块 ----c普通代码块 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. a.静态代码块: 静态代码块 ...
- java中的静态代码块、构造代码块、构造方法
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...
- Java之static静态代码块
Java之static静态代码块 构造代码块 使用{}包裹的代码区域,这里的代码区域特指位于class{}下面的而不是存在于其他type method(){}这类函数下面的代码区域 public cl ...
随机推荐
- WebApi2官网学习记录--- Authentication与Authorization
Authentication(认证) WebAPI中的认证既可以使用HttpModel也可以使用HTTP message handler,具体使用哪个可以参考一下依据: 一个HttpModel可以 ...
- WebApi2官网学习记录---Attribute Routing
从WebApi 1迁移到WebAPI 2要改变配置代码如下: WebApi 1: protected void Application_Start() { // WARNING - Not compa ...
- 创建和管理表【weber出品必属精品】
创建表 必须有 : 1. CREATE TABLE 的权限 SQL> conn /as sysdba 已连接. SQL> create user test default tablespa ...
- 【转】10 个迅速提升你 Git 水平的提示
最近我们推出了两个教程:熟悉Git的基本功能和让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余.在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的使用 ...
- DNF(一.YUM已死,DNF代之)
Yum还没学好呢,突然听到已经要被抛弃了.恐慌至极.. 在最新版的Fedora 22 抛弃了Yum包管理器,取而代之的是DNF.. 那么搜搜 Fedora 22 Release Note.. 官方给出 ...
- jQuery代码片段
禁用页面右键菜单 $(document).bind('contextmenu', function(){ return false; }); 浏览器判断 $.browser.version $.bro ...
- JavaWeb学习笔记-使用HttpSession对象跟踪会话
使用HttpSession接口开发的步骤: 1.获取HttpSession对象 2.对HttpSession对象进行读写 3.手工终止HttpSession,或者自动终止 常用方法: getId(): ...
- NSScanner-备
注意:在扫描的时候,如果 空格是不需要扫描的,那么将会忽略空格. 如下代码: 1 NSString *string = @"my age is d 23 34.0"; ...
- 逻辑数据库设计 - 需要ID(谈主键Id)
本文的目标就是要确认那些使用了主键,却混淆了主键的本质而造成的一种反模式. 一.确立主键规范 每个了解数据库设计的人都知道,主键对于一张表来说是一个很重要,甚至必需的部分.这确实是事实,主键是好的数据 ...
- 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不 ...