java中的构造器
来源:互联网 发布:白光触摸屏 编程软件 编辑:程序博客网 时间:2024/05/21 10:20
引言:初始化和清理是涉及安全的两个问题.
构造器
用构造器确保初始化.
java引入了C++中构造器的概念,这是一个在创建对象时被自动调用的特殊方法。
为什么要用构造器?
可以假想为编写的每个类定义一个初始化()方法,该方法的名称是提醒在使用对象之前,就首先调用初始化()。然而,这同时意味这用户必须记得自己去调用此方法。通过引入构造器,类的设计者可确保每个对象都会得到初始化。
构造器的命名问题.
构造器的名称可能与类的某个成员相冲突;调用构造器是编译器的责任,因此必须要让编译器知道要调用哪个方法。结合以上两种原因java采取了这种方法:构造器名与类名相同的名称。在创建对象时就会自动调用构造器进行初始化。
构造器使用注意事项:
构造器分为无参构造器(默认构造器)
Tree t = new Tree();
如果你的类中没有构造器,编译器会自动帮你创建一个默认构造器。如果有了编译器就不会帮你创建。
有参构造器
Tree t = new Tree(int);
- java默认为无参构造器,对象的创建遵循构造器,例:当Tree(int)是Tree中唯一的构造器时,那么编译器不允许你以其他方式创建Tree对象。
- 构造器是没有返回值的,这与void明显不同,对于空返回,尽管方法本身不会返回什么,但及可以选择让它返回别的东西。
方法重载.
为什么要有方法重载?
- 提高利用效率,减少冗余。
- 构造器是强制重载方法名的另外一个原因。构造器的名字已经由类决定,就只能有一个构造器名。那么要想用多种方法创建对象怎么办?由于都是构造器,它们必须有相同的名字,即类名。为让方法相而形式参数不同的构造器同时存在,必须要用到方法重载。重载亦可用于其它方法。
区分方法重载.
通过参数列表区分方法,即使是顺序不同也足以区分。
涉及基本类型的重载.
基本类型能从一个”较小“的类型自动提升至一个”较大“的类型,此过程涉及到重载时可能造成一些混淆。
- 如果传入的数据类型(实际参数类型)小于方法中声明的形式参数类型,实际数据类型就会被提升。
- 如果传入的数据类型较大,就得通过类型窄化转换,否则编译器会报错。
- Java中的构造器
- Java中的构造器
- java中的构造器
- java中的构造器
- java中的构造器
- java中的构造器初始化
- java中的构造器初始化
- 浅谈java中的构造器
- Java中的构造器(构造方法)的调用
- Java中的默认值和构造器
- Java中的作用域及构造器
- Java继承中的构造器实现
- java继承中的构造器调用
- 关于在java中的构造器
- java中的构造方法
- java中的构造方法
- java中的构造方法
- Java中的构造方法
- Java多线程编程(第二章)
- C++ 笔记1: 字符串操作1
- 在vim中使用cscope查找调用、定义函数和变量的地方
- [Leetcode]263. Ugly Number
- 流应用及相关知识
- java中的构造器
- C++11 std::function、std::bind
- android 获取进程、服务、任务列表
- 拉链表设计
- 关于file_operations结构体
- 贪吃蛇----第一个写出的游戏
- 北航2016集训队选拔赛解题报告
- mysql一些使用技巧
- 语义和语法结构之间的关系