• 3.课上练习


    1.动手动脑1:类中定义的为有参构造函数,而主函数中引用的为无参,在类中没有函数与之相匹配。

    2.java字段初始化的规律

    Java进行初始化的地方有两个:初始化块和构造函数,其中初始化块又分为静态初始化块和实例初始化块。静态初始化块是类中由static修饰的初始化块,实例初始化块为类中没有任何关键字修饰的初始化语句。

    如果在主函数中创建对象时没有形参时,如果在类中定义了公共的变量并给与了赋值,那么就会把值赋给主函数中的变量,再调用类中的默认构造函数,如果在主函数中创建对象时有形参,则调用类中对应的构造函数。

    3.动手动脑2;

    所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:

    1. 父类的静态初始化块
    2. 子类的静态初始化块
    3. 父类的初始化块
    4. 父类的构造函数
    5. 子类的初始化块
    6. 子类的构造函数

    一个有趣的问题:

    代码:

    public class Example
     2 {
     3  int x = 3;//类的实例变量,初始化值为3
     4  static int  y = 4;//类的静态变量,初始化值为4
     5  public static void method()//静态方法
     6   {   
     7    System.out.println("实例变量x = " + new Example().x);//在静态方法中访问类的实例变量需首先进行类的实例化
     8    System.out.println("静态变量y = " + y);
     9   }
    10 
    11  public static void main(String[] args) 
    12     {
    13          Example.method();
    14          Example ex = new Example();
    15         System.out.println("x = " + ex.x);
    16     }
    17 }
    在静态方法中访问类的实例变量需首先进行类的实例化
  • 相关阅读:
    程序崩溃访问非法内存
    C# IP转换,时间转换
    _heap_alloc_dbg 崩溃
    TaskIcon 系统任务栏图标
    zlib 压缩使用
    桌面清理工具
    CMMI知识库(精简版)
    JAVA程序员面试题集合
    OracleDECODE用法
    Oracle索引重建
  • 原文地址:https://www.cnblogs.com/lxy10375/p/7688846.html
Copyright © 2020-2023  润新知