通过构造函数实现属性赋值(含有具体例子)

一、什么是构造函数?

new关键字实际上是在调用一个方法,这个方法叫构造方法(构造器)
调用构造器的时候,如果你的类中没有写构造器,那么系统会默认给你分配一个构造器,只是我们看不到罢了。可以自己显式 的将构造器编写出来:
构造器的格式:
[修饰符] 构造器的名字(){
}
构造器和方法的区别:
1.没有方法的返回值类型
2.方法体内部不能有return语句
3.构造器的名字很特殊,必须跟类名一样


二、怎么编写构造函数代码

1.我们先定义属性

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

2.当形参名字和属性名字重名的时候,会出现就近原则,使用局部变量的参数

在这里插入图片描述

2.我们要想正确传入参数,就要在表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象,如下图所示。

在这里插入图片描述

3.构造函数有快捷方法右键点击Generate

在这里插入图片描述

4.然后点击Constructor

在这里插入图片描述

三、我们通过题目练习以下这个方法

题目要求

1、通过构造函数实现属性赋值

2、攻击方法,描述攻击状态。内容包括怪物名字,生命值,攻击 力

3、防御方法通过输入参数接收攻击力。需要判断,如果攻击力小 于防御力,伤害值=0;反之伤害值=攻击力-防御力 ,根据伤害值情况,显示不同的防御信息。内容包括怪物名字, 防御力,防御后的生命值

4、编写测试方法,通过构造函数实例化怪物类的对象,并调用 相关方法(测试数据信息自定)

参考分析思路:

参怪物类属 性包括:怪物名字、生命值、攻击力、防御力;

方法包括:攻击的方法,防御的方法

运行得到以下结果:

在这里插入图片描述

四、代码部分

1.我们接下来编写一个代码试着用一下这个方法,第一个类名Guaishou

package shenbao;

public class Guaishou {
    String name;
    int health;
   int attack;
   int defence;

    public Guaishou(String name, int health, int attack, int defence) {
        this.name = name;
        this.health = health;
        this.attack = attack;
        this.defence = defence;
    }

    public void show(){
        System.out.println("怪兽小龟展开攻击");
        System.out.println("当前的生命值是:"+health);
        System.out.println("攻击力是:"+attack);
        System.out.println("=====================");
    }
    public void show1(int attack1){
            if (defence>attack1){
            System.out.println("防御成功");
            System.out.println("当前生命值"+health);
        }else{
            System.out.println("防御失败!");
            System.out.println("怪兽小龟以"+defence+"的防御力未能抵御进攻!");
            System.out.println("当前生命值:"+(health-(attack1-defence)));
        }
    }
}


2.第二个类名叫Guaishoutest:

package shenbao;

public class Guaishoutest {
    public static void main(String[] args) {
        Guaishou gs=new Guaishou("怪兽小龟",200,50,10) ;
        gs.show();
        gs.show1(15);


    }
}


3.运行结果

在这里插入图片描述


总结

构造器的作用:不是为了创建对象,因为在调用构造器之前,这个对象就已经创建好了,并且属性有默认的初始化的值。
调用构造器的目的是给属性进行赋值操作的。

  • 60
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值