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

0 0
原创粉丝点击