博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动手动脑3
阅读量:4325 次
发布时间:2019-06-06

本文共 2014 字,大约阅读时间需要 6 分钟。

public class 动手动脑1 {    public static void main(String [] args)    {        Foo obj =new Foo();    }}class Foo{    int value;    public Foo(int initValue)    {        value = initValue;    }}

  该上述的代码错误,就是在Foo()这个类中的构造函数是有参数的构造函数。然后在主函数中调用的函数是无参的。所以会报错。

  修改方法就是在Foo obj =new Foo()在括号内加入一个int类型范围内的数字。

2.

public class InitializeBlockClass {    {        field=200;    }    public int field=100;    public InitializeBlockClass(int value) {        this.field=value;    }    public InitializeBlockClass() {            }    public static void main(String[] args) {        InitializeBlockClass obj=new InitializeBlockClass();        System.out.println(obj.field);                obj=new InitializeBlockClass(300);        System.out.println(obj.field);    }}

运行结果是100    300

从运行结果得出,初始化规律为:初始化块和字段的初始值谁排在前面先执行谁,最后执行构造函数。

 

3.

class Root{    static{        System.out.println("Root的静态初始化块");    }    {        System.out.println("Root的普通初始化块");    }    public Root()    {        System.out.println("Root的无参数的构造器");    }}class Mid extends Root{    static{        System.out.println("Mid的静态初始化块");    }    {        System.out.println("Mid的普通初始化块");    }    public Mid()    {        System.out.println("Mid的无参数的构造器");    }    public Mid(String msg)    {        //通过this调用同一类中重载的构造器        this();        System.out.println("Mid的带参数构造器,其参数值:" + msg);    }}class Leaf extends Mid{    static{        System.out.println("Leaf的静态初始化块");    }    {        System.out.println("Leaf的普通初始化块");    }        public Leaf()    {        //通过super调用父类中有一个字符串参数的构造器        super("Java初始化顺序演示");        System.out.println("执行Leaf的构造器");    }}public class TestStaticInitializeBlock{    public static void main(String[] args)     {        new Leaf();            }}

Mid继承Root,Leaf继承Mid。在首先运行各自的静态初始化。然后再依次运行各自的函数。

 

4.

public class 静态 {         public double i=6.3;        public static void main(String []args) {            静态 j=new 静态();            System.out.println(j.i);        }        }

运行结果是6.3

 

转载于:https://www.cnblogs.com/birdmmxx/p/9824558.html

你可能感兴趣的文章
原生js大总结二
查看>>
PHP基础
查看>>
UVa 11488 超级前缀集合(Trie的应用)
查看>>
Django 翻译与 LANGUAGE_CODE
查看>>
[转]iOS教程:SQLite的创建数据库,表,插入查看数据
查看>>
【转载】OmniGraffle (一)从工具栏开始
查看>>
初识ionic
查看>>
java 中打印调用栈
查看>>
开发 笔记
查看>>
数据挖掘算法比赛 - 简单经验总结
查看>>
生成商户订单号/退款单号
查看>>
使用Android OpenGL ES 2.0绘图之六:响应触摸事件
查看>>
我们过去几年做对了哪些事
查看>>
ubuntu 16.04LTS
查看>>
javascript深入理解js闭包
查看>>
Java Bigdecimal使用
查看>>
SQL注入之绕过WAF和Filter
查看>>
jquery validate使用方法
查看>>
DataNode 工作机制
查看>>
windows系统下安装MySQL
查看>>