• Java学习笔记二:初始化(一)


    1.对象初始化

    在使用 new 初始化对象时,系统通常使用默认的构造函数,这个构造函数没有返回值,格式为:

    public class InitializeTest
    {
        private int a;
        
        // 默认构造函数
        public InitializeTest()
        {
            
        }
        
        // 自定义构造函数
        public InitializeTest(int a)
        {
            this.a = a;
        }
    }

    虽然在使用 new 创建实例时,返回了这个对象的引用,但是这个与没有返回值的void方法不同

    //void方法仍可以返回,直接返回return
    public void testMethod()
    {
        return;
    }

    注意:构造函数与void返回值的区别:

    (1)构造函数没有返回值,这个方法在调用到时一定会执行完整个方法,构造函数中使用return编译不通过,而且不会在中途退出(除非抛出异常);

    (2)void 返回类型为空,简单的理解是什么都不返回。但是在方法(特别是在接口定义中),我们能识别出看出返回的类型,而构造函数是无法识别的。

    通常在void返回类型使用return时,会中断方法调用,方法在执行过程中可以被终止。

    究竟void方法返回了什么呢?其实什么也没有返回,只是终止调用,抽象的理解确实返回了一些东西,比如方法的控制权。(不必深究,知道大概意思即可)

    2.方法重载

    构造函数和普通方法都能够重载,重载的定义:方法名相同,参数列表唯一。(区别与重写 override)

    典型的例子:查看String.valueOf,可以看到方法名虽然一样,但是参数类表不一样,编译器去没有报错。

    public static String valueOf(Object paramObject)
      {
        return ((paramObject == null) ? "null" : paramObject.toString());
      }
    
      public static String valueOf(char[] paramArrayOfChar)
      {
        return new String(paramArrayOfChar);
      }
    
      public static String valueOf(char[] paramArrayOfChar, int paramInt1, int paramInt2)
      {
        return new String(paramArrayOfChar, paramInt1, paramInt2);
      }
    
      public static String valueOf(boolean paramBoolean)
      {
        return ((paramBoolean) ? "true" : "false");
      }
    
      public static String valueOf(char paramChar)
      {
        char[] arrayOfChar = { paramChar };
        return new String(arrayOfChar, true);
      }
    
      public static String valueOf(int paramInt)
      {
        return Integer.toString(paramInt);
      }
    
      public static String valueOf(long paramLong)
      {
        return Long.toString(paramLong);
      }
    
      public static String valueOf(float paramFloat)
      {
        return Float.toString(paramFloat);
      }
    
      public static String valueOf(double paramDouble)
      {
        return Double.toString(paramDouble);
      }

    注意:
    不以返回值作区分重载方法的原因:有时候在调用函数时,会出现只调用方法,而忽略返回值的情形。

  • 相关阅读:
    mysql(一)
    spring
    数据库连接池
    spring jdbctemplate
    HDU-4219-Randomization?
    离线赛总结
    HDU-4507-吉哥系列故事-恨7不成妻
    HDU-1204-糖果大战
    [BZOJ1150][CTSC2007]数据备份
    二分图学习笔记
  • 原文地址:https://www.cnblogs.com/winlrou/p/3795673.html
Copyright © 2020-2023  润新知