java构造函数
来源:互联网 发布:网络超好听伤感歌曲 编辑:程序博客网 时间:2024/06/05 14:55
构造函数:
构造函数的作用: 给对应的对象进行初始化。
构造函数的定义的格式:
修饰符 函数名(形式参数){
函数体...
}
构造函数要注意的细节:
1. 构造函数 是没有返回值类型的。
2. 构造函数的函数名必须要与类名一致。
3. 构造函数并不是由我们手动调用的,而是在创建对应的对象时,jvm就会主动调用到对应的构造函数。
4. 如果一个类没有显式的写上一个构造方法时,那么java编译器会为该类添加一个无参的构造函数的。
5. 如果一个类已经显式的写上一个构造方法时,那么java编译器则 不会再为该类添加 一个无参 的构造方法。
6. 构造函数是 可以在一个类中以函数重载的形式存在多个 的。
疑问:创建对象时,jvm就会调用到对应的构造方法,那么我们以前没有学构造方法,那么
以前创建对象时,jvm是否 也会调用构造方法呢?如果有?构造方法从何而来呢?
javap 反编译工具的使用格式:
javap -c -l -private 类名
疑问: java编译器添加 的无参构造方法的权限修饰符是 什么?
与类的权限修饰是一致的。
构造函数与普通 函数的区别:
1. 返回值类型的区别:
1. 构造函数是没有返回值类型 的,
2. 普通函数是有返回值类型的,即使函数没有返回值,返回值类型也要写上void。
2. 函数名的区别:
1. 构造函数的函数名必须要与类名一致,
2. 普通函数的函数名只要符合标识符的命名规则即可。
3. 调用方式的区别:
1. 构造函数是 在创建对象的时候由jvm调用的。
2. 普通函数是由我们使用对象调用的,一个对象可以对象多次普通 的函数,
4. 作用上的区别:
1. 构造函数 的作用用于初始化一个对象。
构造函数的作用: 给对应的对象进行初始化。
构造函数的定义的格式:
修饰符 函数名(形式参数){
函数体...
}
构造函数要注意的细节:
1. 构造函数 是没有返回值类型的。
2. 构造函数的函数名必须要与类名一致。
3. 构造函数并不是由我们手动调用的,而是在创建对应的对象时,jvm就会主动调用到对应的构造函数。
4. 如果一个类没有显式的写上一个构造方法时,那么java编译器会为该类添加一个无参的构造函数的。
5. 如果一个类已经显式的写上一个构造方法时,那么java编译器则 不会再为该类添加 一个无参 的构造方法。
6. 构造函数是 可以在一个类中以函数重载的形式存在多个 的。
疑问:创建对象时,jvm就会调用到对应的构造方法,那么我们以前没有学构造方法,那么
以前创建对象时,jvm是否 也会调用构造方法呢?如果有?构造方法从何而来呢?
当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。
备注:可以通过javap命令验证
jdk提供了一个java开发工具(javap.exe)给我们进行反编译的。javap 反编译工具的使用格式:
javap -c -l -private 类名
疑问: java编译器添加 的无参构造方法的权限修饰符是 什么?
与类的权限修饰是一致的。
构造函数与普通 函数的区别:
1. 返回值类型的区别:
1. 构造函数是没有返回值类型 的,
2. 普通函数是有返回值类型的,即使函数没有返回值,返回值类型也要写上void。
2. 函数名的区别:
1. 构造函数的函数名必须要与类名一致,
2. 普通函数的函数名只要符合标识符的命名规则即可。
3. 调用方式的区别:
1. 构造函数是 在创建对象的时候由jvm调用的。
2. 普通函数是由我们使用对象调用的,一个对象可以对象多次普通 的函数,
4. 作用上的区别:
1. 构造函数 的作用用于初始化一个对象。
2. 普通函数是用于描述一类事物的公共行为的。
//婴儿类class Baby{int id; //身份证 String name; //名字//构造函数public Baby(int i , String n){id = i;name = n;System.out.println("baby的属性初始化完毕!!");}//无参 的构造函数public Baby(){System.out.println("无参的构造函数被调用了..");}//哭public void cry(){System.out.println(name+"哇哇哭...");}}class Demo2 {public static void main(String[] args) {//创建一个baby对象Baby b1 = new Baby(110,"狗娃"); //婴儿诞生 System.out.println("编号:"+ b1.id +" 姓名:"+ b1.name);b1.cry();b1.cry();}}
0 0
- js构造函数与JAVA构造函数
- java构造函数调用构造函数
- Java构造函数中调用构造函数
- Java 构造函数
- JAVA 基础 - 构造函数
- JAVA构造函数
- java构造函数
- java构造函数
- java构造函数
- java构造函数
- Java构造函数
- java的构造函数
- java基础知识-构造函数
- java---函数-构造--拷贝
- java 继承 构造函数
- java 构造函数
- java-构造函数
- JAVA 构造函数
- fcitx在debian 8中配置问题
- 分布式Memcache
- MySQL中的数值函数
- OpenCv实践-FaceRecognizer使用
- 开源网站
- java构造函数
- Memcache实现原理
- navicat for mysql注册码,各种版本都有
- 在 Android 中使用 Realm 作本地存储
- leetcode-27-Remove Element 顺序表
- 混合高斯模型算法
- ELF Linker学习篇(三)关于链接过程
- JavaScript之创建对象的模式
- HttpGet HttpPost HttpPut HttpDelete关于参数请求问题