Java 构造器,
Java 构造器,
一、构造器
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
注意 :
关于构造方法的重载问题,如果一个类发生构造方法重载,在有参构造方法里面 this();
调用的是无参构造方法。
demo
相关文章
- 暂无相关文章
用户点评