Java 构造器
来源:互联网 发布:sql格式化日期 编辑:程序博客网 时间:2024/06/07 19:19
一、构造器
1、在Java 中,使用new关键是调用构造器,从而返回该类的实例
也就是说: 构造方法是定义在Java类中的一个用来初始化对象的方法,是创建对象的根本途径
注意: 构造方法与类同名且没有返回值
2、语法
修饰符 构造方法名 (形参列表) { //在这里面初始化代码 }
注意:
1) 修饰符: 只能有public/private/protected,一般设置成public。
2) 构造方法名: 必须与类名字相同
3) 构造器不能定义返回值,不能使用void定义构造器没有返回值。如果为构造器定义了返回值类型,或使用void 定义构造器没有返回值,编译时不会出错,但Java会把这个所谓的构造器当做普通方法来处理
3、分类
把没有参数的构造方法叫无参构造方法,反之称为有参的构造方法
4、关于构造方法的几个注意点
1)如果我们没有指定无参构造方法,系统会为该类提供一个默认的构造器(无参构造器)
一旦我们为一个类提供了构造器,系统将不会该类提默认无参的供构造器,如果我把无参的构造方法屏蔽, 则不能调用无参的构造方法,会编译不通过。
2) 有参构造方法: 初始化成员变量的值
3) 有参的构造方法和无参构造方法是可以并存的(方法重载)
4) 构造方法的重载: 方法名相同,单参数不同地方多个方法,调用时会根据不同的参数参数选择相应的方法
5) 构造方法 不但可以给属性赋值,还可以保证给对象的属性赋一个合理的值
4、构造器与super的使用
5、 构造器之间的相互调用
二、例子
定义一个类,名字为Telephone
public class Telephone { double screenSise; double memorySize; // 方法重载 //无参数构造方法 public Telephone(){ System.out.println("无参数构造方法run"+" screenSize:"+screenSise+ " memorySize:"+memorySize); } // 有参构造方法 public Telephone(double newScreenSize,double newMemorySize){ //给对象的实例变量赋值 if(newScreenSize < 3.5){ screenSise = 3.5; System.out.println("输入参数有问题,自动赋值成3.5"); }else{ screenSise = newScreenSize; } memorySize = newMemorySize; System.out.println("有参的构造方法run!"+" screenSize:"+screenSise+ " memorySize:"+memorySize); }}
在定义一个类,取名为StructMethod,并勾选main函数
public class StructMethod { public static void main(String[] args) { //通过无参的构造方法可以创建对象 Telephone iphone6 = new Telephone(); //通过有参的构造方法也可创建对象,并给对象的实例变量赋值 Telephone iphones = new Telephone(1.0,32.0); }}
输出结果:
无参数构造方法run screenSize:0.0 memorySize:0.0输入参数有问题,自动赋值成3.5有参的构造方法run! screenSize:3.5 memorySize:32.0
demo
- [java]java构造器
- 关于Java构造器
- java静态构造器
- Java 构造器
- java构造器
- java构造器
- java缺省构造器
- java构造器小结
- java构造器
- Java中的构造器
- JAVA构造器
- java构造器
- java构造器
- Java 构造器
- java构造器小结
- java构造器小结
- Java 构造器
- Java 构造器初始化
- Java的构造代码块和静态代码块的区别
- x265代码阅读:码率控制(一)
- 复习JQ (10)
- 迭代器有了__next__为什么还要__iter__
- js利用script标签跨域请求
- Java 构造器
- Innodb中的事务隔离级别和锁的关系
- HAUTOJ 1268: 小天使改名
- 百度Map的基本使用和定位
- HDU___1000
- 去重排序
- CentOS 7 安装教程、硬盘分区、LVM、网络配置、软件源配
- HZAU 1205 Sequence Number
- Unreal Engin_画廊制作笔记 _004<灯光处理,添加灯光>