zoukankan      html  css  js  c++  java
  • 第四次作业,类,构造函数的初始化

    类的构造方法:

        public class Test {
    
            public static void main(String[] args) {
    
                Foo obj1 = new Foo();
    
            }
    
        }
    
        class Foo {
    
            int value;
    
            public Foo (int initValue) {
    
            value = initValue;
    
            }
    
        }

    无法通过编译。
    因为如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

    多构造函数:

    同一个类可以有多个构造函数,多个构造函数之间通过参数来区分。这是方法重载的一个实例。

    构造函数之间可以相互调用。

        class Fruit {
                int grams;
                int calsPerGram;
                Fruit() {
                    this(55,10);
                }
                Fruit(int g,int c){
                    grams=g;
                    calsPerGram=c;
                }
        }

    类的初始化:

    Java字段初始化的规律,

    如果使用上面定义的类,思考一下代码的输出结果:
    
        public static void main(String[] args) {
          InitializeBlockClass obj = new InitializeBlockClass();
          System.out.println(obj.field);  //
          obj = new InitializeBlockClass(300);
          System.out.println(obj.field);  //
        }

    规律(类字段的初始化顺序):

    执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

    执行类的构造函数。

    类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

    ok

  • 相关阅读:
    论文笔记:SRCNN
    4.2 CNN实例探究
    4.1 卷积神经网络
    3 ML策略
    2.3 超参数调试,batch正则化和程序框架
    2.2 优化算法
    2.1 深度学习的实用层面
    Lecture4 反向传播算法
    Lecture3 神经网络学习
    java基础部分
  • 原文地址:https://www.cnblogs.com/Zf451452043/p/5984631.html
Copyright © 2011-2022 走看看