JAVA中构造函数的参数传递给类中的实例变量

 1 class VolcanoRobot1
 2    {  String status;
 3       int speed;
 4       float temperature;
 5       VolcanoRobot1(int speed,float temperature)
 6         {   if(temperature > 660)
 7            { status = "returning home";
 8              speed = 5;
 9              temperature = 780;
10             }
11         }
12         void showAttributes()
13          { System.out.println("Status:" + status);
14            System.out.println("Speed: "+ speed);
15            System.out.println("Temperature: "+ temperature);
16           }
17        public static void main(String[] args)
18            { VolcanoRobot1 robot = new VolcanoRobot1(20,780);
19              robot.showAttributes();
20             }
21      }

以上程序运行结果如下:

 1 class VolcanoRobot1
 2    {  String status;
 3       int speed;
 4       float temperature;
 5       VolcanoRobot1(int speed,float temperature)
 6         {   if(temperature > 660)
 7            { status = "returning home";
 8              this.speed = speed;
 9              this.temperature = temperature;
10             }
11         }
12         void showAttributes()
13          { System.out.println("Status:" + status);
14            System.out.println("Speed: "+ speed);
15            System.out.println("Temperature: "+ temperature);
16           }
17        public static void main(String[] args)
18            { VolcanoRobot1 robot = new VolcanoRobot1(20,780);
19              robot.showAttributes();
20             }
21      }

以上程序的运行结果:

 1 class VolcanoRobot1
 2    {  String status;
 3       int speed;
 4       float temperature;
 5       VolcanoRobot1(int speed1,float temperature1)
 6         {   if(temperature1 > 660)
 7            { status = "returning home";
 8              speed = 5;
 9              temperature = 60;
10             }
11         }
12         void showAttributes()
13          { System.out.println("Status:" + status);
14            System.out.println("Speed: "+ speed);
15            System.out.println("Temperature: "+ temperature);
16           }
17        public static void main(String[] args)
18            { VolcanoRobot1 robot = new VolcanoRobot1(20,780);
19              robot.showAttributes();
20             }
21      }

以上程序运行结果:

以上程序说明:在创建对象的时候,(用new)构造函数的参数在初始化类的实例变量时:

如果构造函数的参数列表的参数名与实例变量的参数名一样时,需要利用“this”来进行指代实例变量;

如果希望将构造函数的参数的值传递给实例变量需要用赋值语句进行传递。

时间: 2024-11-23 16:11:48

JAVA中构造函数的参数传递给类中的实例变量的相关文章

“全栈2019”Java第八十七章:类中嵌套接口的应用场景(拔高题)

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第八十七章:类中嵌套接口的应用场景(拔高题) 下一章 "全栈2019"Java第八十八章:接口中嵌套接口的应用场景 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"J

数据库中信息存放到 实体类中

把数据库中信息存放到 实体类中,实体类设置值 Tb_pay tb_pay = payDAO.find(userid,Integer.parseInt(strno)); txtMoney.setText(String.valueOf(tb_pay.getMoney()));// 显示金额 txtTime.setText(tb_pay.getTime());// 显示时间 spType.setSelection(tb_pay.getType()-1);// 显示类别 txtHA.setText(tb

java自定义Annotation,得到注解类中Annotation设定的注解值

java注解机制在各大框架中应用普遍,注解中可以设置一些值,如何得到呢. 要得到注解类中Annotation设定的注解值 即:遍历自定义Annotation中的方法,反射执行方法,结果就是 对应的注解值. java代码例子: package com.doctor.spring.core; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotat

JAVA类与对象---实例变量与类变量的区别,实例方法和类方法的区别

实例变量 实例变量声明在一个类中,但在方法.构造方法和语句块之外: 当一个对象被实例化之后,每个实例变量的值就跟着确定: 实例变量在对象创建的时候创建,在对象被销毁的时候销毁: 实例变量的值应该至少被一个方法.构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息: 实例变量对于类中的方法.构造方法或者语句块是可见的.一般情况下应该把实例变量设为私有.通过使用访问修饰符可以使实例变量对子类可见 实例变量具有默认值.数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默

Java Random、ThreadLocalRandom、UUID类中的方法应用(随机数)

1.Random:产生一个伪随机数(通过相同的种子,产生的随机数是相同的): Random r=new Random(); System.out.println(r.nextBoolean()); System.out.print(r.nextInt(50)+",");//随机生成0~50的随机数,不包括50 System.out.println(r.nextInt(20)+30);//随机生成30~50的随机数,不包括50 2.ThreadLocalRandom:是JDK 7之后提供

自定义的类型放入STL的set中,需要重载自定义类中的“<”符号(转)

在以前学习STL的时候,曾经学到过,如果要将自定义的类型放入到set中的话,就需要重载“<”符号,原因是set是一个有序的集合,集合会按照“<”比较的大小,默认按照从小到大的顺序排列.假设我现在设计如下类型: class MyType { public: int a, b, c; } 这是,为了让MyType类型可以顺利的放进set中,我必须重载“<”,这时问题来了,要如何重载呢?这个类型有三个数据成员,我能不能要求按照a的大小排列,如果a相等的话就随便按照b或者c的大小排列呢?如果近实

struts中的action匹配一个类中多个方法

<action name="emp-*" class="employeeAction" method="{1}"> 这是利用Struts2里面的自动匹配特性.*代表通配符,可以匹配任何一个字符串[1]表示匹配的参数.举个例子来说,如果你在xml文件中做了这个配置,那么当你页面里面有一个form<form action="/emp-add" method="post"> 那么,*匹配到

java 静态导入、System类、Date类、Runtime类、Calendar类、Collections类中的shuffle方法、Math类

/* JDK1.5版本新特性(续):静态导入 注意:当类名重名时,需要指定具体的包名: 当方法名重名时,需要指定具体的类名. */ import java.util.*; import static java.util.Arrays.*;//导入Arrays工具类中的所有静态成员. import static java.lang.System.*;//导入了System类中所有的静态成员,注意System类中的成员都是静态的. class StaticImport { public static

类中函数

[1]空类为什么可以创建对象呢? 示例代码如下: 1 class Test 2 { 3 }; 4 void main() 5 { 6 Test t1; 7 cout<<sizeof(Test)<<endl; //1 8 } 让我们先看看这个例子.既然都没有构造函数,怎么实现对象t1的构建呢? 哦,经过大脑的回旋式搜索,忆得有一本书上说过,当用户定义一个空类(如上)时,编译器就会为这个类默认生成六个方法. 既然这是编译器完成的工作,那我们只要知道是那些方法就好了,其余就学习编译器的结