java编程思想学习笔记:初始&重载&this&static

构造器初始化

  1. 构造器 ,采用与类相同的名称,创建对象时,自动调用构造器来初始化对象

  2. 默认构造器(无参构造器):不接受任何参数的构造器

  3. 构造器也可带参数,指定如何创建对象

  4. 当类中没有构造器,编译器会自动创建一个默认构造器;
    当类中已经定义了一个构造器(无论是否带参数),编译器都不会自动创建默认构造器

  5. 初始化顺序
    #先静态成员数据,后非静态成员数据
    #先成员数据,后成员方法(包括构造器)
    #先构造器,后普通成员函数
    #先初始化基类,后初始化子类

this关键字

this表示对调用对象的引用,用法与其他对象无异;

常用于如下几种情景:

  • 返回对当前对象的引用
  • 将当前对象传递给其他方法

static关键字

  • static成员变量属于全局变量,只初始化一次,可直接由类名调用
  • 不论该类是否产生对象,都会初始化静态成员数据
  • static方法是没有this的方法,内部不能调用非静态方法

方法重载

  • 重载:函数名相同,参数类型/参数数量不一致

    (函数形参名不一致、返回类型不一致的两个函数不是函数的重载)

  • 实现方法:
    当主函数去调用重载函数时候,根据将实参的类型、个数与两个重载函数对的进行对比,自动调用与形参与实参一致的函数

Ps:

1)常函数和普通函数之间存在函数重载

2)使用含默认形参的函数重载时,注意防止二义性。

fun(int a,int b=1,int c=2);

fun(int a);

主函数中fun(x)

此时的函数调用会产生二义性,两个函数皆可以调用,并不知道该调用哪一个

3)功能不同的函数不要写成函数的重载

猜你喜欢

转载自blog.csdn.net/karin_0/article/details/83039432