java基础第二十一篇 Java中的构造方法(构造器)

34 篇文章 0 订阅
30 篇文章 0 订阅

构造器的特征

1、它具有与类相同的名称

2、它不声明返回值类型。(与声明为void不同)

3、不能被staticfinalsynchronizedabstractnative修饰,不能有 return语句返回值

构造器的作用创建对象;给对象进行初始化

构造方法的语法格式:

修饰符 构造方法名(参数列表){

    初始化语句;
}

例子:

package honor;

public class Honor {
    public Honor(){
        System.out.println("这是一个无参的构造方法");
    }
}
package honor;

import sun.org.mozilla.javascript.internal.ast.NewExpression;

import java.util.Date;

public class WeatherSpring {
    String weather;
    String people;
    float  DateNember;

    public WeatherSpring(String newWeather,String newPeople, float  newDateNember){
        weather=newWeather;
        people= newPeople;
        DateNember= newDateNember;
        System.out.println(newWeather+","+newPeople+newDateNember+","+"这是一个有参的构造方法");
    }
}

使用:

package MyTest1;

import honor.Honor;

public class MyTest11 {

        //完成 main 方法
        public static void main(String[] args) {

            Honor honor=new Honor();//无参构造方法的使用

        }
}
package MyTest1;

import honor.WeatherSpring;

public class MyTest12 {
    public static void main(String[] args) {
        WeatherSpring weatherSpring=new WeatherSpring("天气很好","Java大神",4.7f);//有参构造方法的使用


    }



}

3.有参数的构造方法称为有参构造方法,没有参数的构造方法称为无参构造方法。

4.如果我们有没有指定一个无参的构造方法,那么系统自动添加一个无参的构造方法(隐式无参构造器)。

5.我们创建对象时就是执行了构造方法了,例如:

Honor honor=new Honor();

可以通过无参的构造方法创建对象,也可以通过有参的构造方法创建对象;并给对象中的实例变量赋初值。

6.当有指定构造方法时,无论是有参、无参的构造方法,都不会自动添加无参的构造方法。

7.构造方法的重载:方法名相同,但参数不同、参数个数、参数顺序的多个方法,调用时会自动根据不同的参数选择相应的方法。

8.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值,例如:

    public WeatherSpring(String newWeather,String newPeople, float  newDateNember){
        if (newDateNember<4.7){
            System.out.println("你输入的参数有问题,自动赋值3.8"); //在构造方法内加入判断方法,判断赋予的值是否合理,并自动赋值。避免了传值不安全的问题
            DateNember=3.8f;
        }else {
            DateNember=newDateNember;
        }

        weather=newWeather;
        people= newPeople;
        DateNember= newDateNember;
        System.out.println(newWeather+","+newPeople+newDateNember+","+"这是一个有参的构造方法");
    }
}

注 意:

Java语言中,每个类都至少有一个构造器

默认构造器的修饰符与所属类的修饰符一致

一旦显式定义了构造器,则系统不再提供默认构造器

一个类可以创建多个重载的构造器

父类的构造器不可被子类继承

系统默认的构造器的修饰符权限类的修饰符权限一样

 

 

 

参考来自慕课网、尚硅谷

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风而行无疾而歌

看官,觉得不错,奖励一下呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值