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);
  }

注意:

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

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

时间: 2024-08-05 02:40:57

Java学习笔记二:初始化(一)的相关文章

Java学习笔记二:数据类型

Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围从-2 147 483 6至2 147 483 647 超过20亿,如果用来存储大于20亿的值,最好使用long型. 1.2  int 与Integer: Java中的数据类型分为基本数据类型和复杂数据类型.Int为前者,integer为后者. Integer是int的封装类,提供了很多转换方法,当

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

这里主要学习初始化,分为: 1.变量初始化 2.构造函数初始化 3.数组初始化 4.继承初始化   1.变量初始化 成员初始化分为两种: (1)成员变量初始化 在定义成员变量时,如果没有给变量赋于初始值,系统会给出一个默认值. 这里有两种选择:要么使用系统的默认初始值,要么自己定义初始值. 系统给出的默认输出值为: boolean false char [ ] byte 0 short 0 int 0 long 0 float 0.0 double 0.0 refenece null char初

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

3.数组初始化 1.数组是一个固定长度的集合,在初始化大小后就不能改变其长度. 数组分配在堆中,并在栈中存有指向该数组的一个引用. class Arr { public static void main(String[] args) { int[] a = {1, 2, 3, 4}; int[] b = a; for (int i = 0; i < b.length; i++) { b[i]++; } for (int i = 0; i < a.length; i++) { System.ou

Java学习笔记二(基础语法)

1 Java 是强类型语言,提供的8中基本数据类型有以下几类: Byte :字节类型,一个字节,有符号的8位的整数.字节类型参与运算的时候,会转化为int类型. byte b;b=3;b=(byte)(b*3);  在这里第二个赋值必须经过强制类型转化,否则会编译出错. short:2个字节,Byte可行可以直接赋值给short,但是反过来需要强制类型转化. int:4字节类型的有符号的整数. long:8个字节类型的有符号的整形 char:2个字节的无符号的类型.采用的是Unicode的编码格

黑马程序员——JAVA学习笔记二(语法基础)

1,     Java程序都是以类的形式存在的,所以需要告诉虚拟机需要加载类的位置,那么可以设置classpath变量.classpath变量如果有;,则表示还会在当前目录查找,没有;则不会在当前目录查找. 当然如果没有classpath也会在当前目录查找. 2,    rd删除目录,加/S可以删整个目录,Windows从里向外删除. 3,    一个文件只有一个public类,文件名必须和类名相同,如果不是友好类,则不需要同名. 4,    JAVA一共有50个关键字 关键字是电脑语言里事先定

数组排序、递归——(Java学习笔记二)

升序: 选择排序: 选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置 先出现最小值,最后出现最大值. public static void main(String[] args) { int[] arr = {5,8,9,12,55,565,421,12,2512,-5,-56}; sortMethod(arr); p(arr); } //排序核心代码 private static void sortMethod(int arr[]) { for(int i =

java学习笔记二

java变量:类变量(static修饰).成员变量.局部变量,java是没有全局变量 创建对象:a.声明变量.b.实例化对象.c.初始化变量 Java访问修饰符:public:所有可见,protected:同一包的类及其子类(不在同一个包中也可见)可见:private:同一类可见:默认是统一包可见 类的访问修饰符有public,默认包可见,修饰符有final.abstract; 方法的访问修饰符有public.private.protected,修饰符有static.final 变量的访问修饰符

JAVA学习笔记(二) - 运算符

变量与常量 变量的声明和赋值 /* * 变量的声明和赋值 */ public class Test { public static void main(String[] args) { // 1-可以声明的同时,对变量赋值:int x = 10; //局部变量,变量名符合命名规则. //推荐使用此种方式. int x = 10; // 2-可以先声明,再赋值:int x; x = 10; int y;//变量的声明 y = 20;//将20赋值给y指向的内存空间 // 3-可以一行声明多个变量:

Java学习笔记二---环境变量

1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到Java的安装路径.方便搜索用到的类.方便命令执行等. 3.各环境变量的含义: ①.JAVA_HOME,指向jdk的安装目录,通过搜索JAVA_HOME来找到jdk. ②.CLASSPATH,指定类的搜索路径,通过搜索CLASSPATH,看是否能找到使用的类. ③,PATH,指定命令的搜索路径,通过搜索PATH,看是否能找到要执行的命令. 4.各环境变量的值: ①.JAVA_HOM