Java-初始化与清理

接下来将从几个小节做个学习记录:
1、构造器初始化。
2、方法重载
3、this关键字
4、static关键字
5、清理
6、成员初始化
7、数据初始化
8、枚举类型

一、构造器初始化

  • Java对象有默认构造器,是以类名命名的无参构造器。
  • 显示指定构造器后,Java对象默认执定的无参数构造器将不存在。如果需要使用无参构造器,需要指定。
  • 初始化对象时,先执行父类构造器和子类构造器。

1.1 无参数构造器(默认构造器):

public class Constructor {
    public void print() {
        System.out.println("print constructor method!");
    }

    public static void main(String[] args) {
        Constructor constructor = new Constructor();
        constructor.print();
    }
}

输出:

print constructor method!

new对象创建后,默认使用午无参数构造器

1.2 无参数构造器

显示指定无参数构造器的代码 如下:

public class NoArgsConstructor {

    public NoArgsConstructor() {
        System.out.println("NoArgsConstructor object createed");
    }

    public void print() {
        System.out.println("print constructor method!");
    }

    public static void main(String[] args) {
        NoArgsConstructor constructor = new NoArgsConstructor();
        constructor.print();
    }
}

输出结果如下:

NoArgsConstructor object createed
print constructor method!

由上面输出结果可知,new对象时,调用显示指定的无参数构造器。

二、方法重载

方法重载是实现多态的一种手段,区分函数重载主要按照参数不同进行区分,主要通过一下进行重载:

  • 参数类型
  • 参数顺序
  • 参数个数
public class ParamsOverloading {


    public void print(int count) {
        System.out.println("print int count:" + count);
    }

    public void print(String count) {
        System.out.println("print string count:" + count);
    }


    public void print(int count, String string) {
        System.out.println("print count:" + count + ", string:" + string);
    }

    public static void main(String[] args) {
        ParamsOverloading paramsOverloading = new ParamsOverloading();
        paramsOverloading.print(10);
        paramsOverloading.print("8888");
        paramsOverloading.print(100,"9999");
    }
}

输出结果如下:

print int count:10
print string count:8888
print count:100, string:9999

由上面输出结果可知,使用 不同的参数类型调用不同的print方法。注意一点,不能用返回值作为参数重载的判断条件,也不建议将参数类型交换位置作为重载,不利于后期的维护。
包装类与基本类型的重载误区,包装类和基本类型可以作为重载,但是不建议那么使用。

三 、this关键字

  • 每个方法都默认传入this对象。
  • 调用本类成员不要添加this,bad smell。
  • 可以返回this继续操作。
  • 构造器使用this,只能在第一行,用一次。

四 、static关键字

  • static方法不能调用非静态方法
  • 非静态方法可以调用静态方法
  • 不要用太多的静态方法

五、清理

  • finalize
  • 垃圾回收器
  • 垃圾回收器释放new分配的内存

六、成员初始化

  • 静态代码块 、静态变量按顺序执行
  • 非静态代码块、成员变量按顺序执行
  • 构造函数,先执行父类,再执行子类

七、数据初始化

  • 基本类型
  • 引用类型
  • 初始化方式
  • 可变参数列表

八、枚举类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值