Java 从同一类中的构造函数获取方法中变量的方法?
我对代码非常陌生,我找不到我能理解的解释或解决方案,尽管我很确定这很简单。我希望我的条件也正确。我感到困惑的是:Java 从同一类中的构造函数获取方法中变量的方法?,java,Java,我对代码非常陌生,我找不到我能理解的解释或解决方案,尽管我很确定这很简单。我希望我的条件也正确。我感到困惑的是: public class Item{ public Item(int number1, int number2, int number3){ //Nothing really significant in here, just some mathematics } public int getNumber(){ //I want to g
public class Item{
public Item(int number1, int number2, int number3){
//Nothing really significant in here, just some mathematics
}
public int getNumber(){
//I want to get the values of number 1-3 here, without parameters
//or any data structures if possible.^
}
}
如果有人能给我解释一下,我将不胜感激。我本想多看看,但我已经花了半天的时间来解决这些问题,我还没有完全的经验
谢谢大家! 在构造函数中,您可以初始化类的变量。这些变量属于类的实例,因此在类的方法中可用。使用
新建项(1,2,4)
创建的每个对象都有自己的一组字段
要获取每个变量,最好使用getter
public class Item {
private final int number1;
private final int number2;
private final int number3;
// Method with same name as class called Constructor
public Item(int number1, int number2, int number3){
this.number1 = number1;
this.number2 = number2;
this.number3 = number3;
}
public int getNumber1() {
return number1;
}
public int getNumber2() {
return number2;
}
public int getNumber3() {
return number3;
}
}
在构造函数中,您可以初始化类的变量。这些变量属于类的实例,因此在类的方法中可用。使用
新建项(1,2,4)
创建的每个对象都有自己的一组字段
要获取每个变量,最好使用getter
public class Item {
private final int number1;
private final int number2;
private final int number3;
// Method with same name as class called Constructor
public Item(int number1, int number2, int number3){
this.number1 = number1;
this.number2 = number2;
this.number3 = number3;
}
public int getNumber1() {
return number1;
}
public int getNumber2() {
return number2;
}
public int getNumber3() {
return number3;
}
}
如果您希望能够在某个点检索某个值,则必须将其存储在某个位置。这是在初始化阶段使用构造函数创建新对象时完成的。调用构造函数时,需要存储构建对象时所需的值。通过这样做,对象将保留所需的值number1、number2、number3。请注意,如果您需要存储非语义定义的无限数量的数字(例如,您只存储非由给定名称定义的区域、价格、数量的数字),那么您可能应该将它们存储在数组中
public class Item {
private int number1; // internal attributes
private int number2; // are initialized
private int number3; // in the constructor
public Item(int number1, int number2, int number3) { // constructor
this.number1 = number1;
this.number2 = number2; // setup internal attributes
this.number3 = number3;
}
}
然后,在调用getter时,可以获取存储的值。您的类现在有3个新函数
public class Item {
private final int number1;
private final int number2;
private final int number3;
public Item(int number1, int number2, int number3){
this.number1 = number1;
this.number2 = number2;
this.number3 = number3;
}
// add getter methods that only return internal attributes
// values, so that it would be impossible to modify them
// from the outside
public int getNumber1() {
return number1; // equivalent of return this.number1;
}
public int getNumber2() {
return number2;
}
public int getNumber3() {
return number3;
}
}
希望这能解决您的问题。如果您想在某个时候检索到一个值,您必须将它存储在某个地方。这是在初始化阶段使用构造函数创建新对象时完成的。调用构造函数时,需要存储构建对象时所需的值。通过这样做,对象将保留所需的值number1、number2、number3。请注意,如果您需要存储非语义定义的无限数量的数字(例如,您只存储非由给定名称定义的区域、价格、数量的数字),那么您可能应该将它们存储在数组中
public class Item {
private int number1; // internal attributes
private int number2; // are initialized
private int number3; // in the constructor
public Item(int number1, int number2, int number3) { // constructor
this.number1 = number1;
this.number2 = number2; // setup internal attributes
this.number3 = number3;
}
}
然后,在调用getter时,可以获取存储的值。您的类现在有3个新函数
public class Item {
private final int number1;
private final int number2;
private final int number3;
public Item(int number1, int number2, int number3){
this.number1 = number1;
this.number2 = number2;
this.number3 = number3;
}
// add getter methods that only return internal attributes
// values, so that it would be impossible to modify them
// from the outside
public int getNumber1() {
return number1; // equivalent of return this.number1;
}
public int getNumber2() {
return number2;
}
public int getNumber3() {
return number3;
}
}
希望这能解决您的问题。当您调用项(…)时,需要将参数保存在类属性中,以便以后调用getNumber()时可以访问它们
调用项(…)时,需要将参数保存在类属性中,以便以后调用getNumber()时可以访问这些参数
如果没有任何数据结构,就无法在1个整数中获得3个整数。如果你想在手机上安装3张sim卡和1个插槽的话 此外,该函数名为
getNumber()
,这会提出一个问题:哪个数字?
正如其他人所说,您需要以某种形式将参数存储在类中,以便以后重用它们
因此,您应该使用类似于int[]
或List
的东西,或者更好地使用名为Numbers
的自定义类,方法是getNumber1
getNumber2
getNumber3
希望有帮助 如果没有任何数据结构,就无法在1个整数中获得3个整数。如果你想在手机上安装3张sim卡和1个插槽的话 此外,该函数名为
getNumber()
,这会提出一个问题:哪个数字?
正如其他人所说,您需要以某种形式将参数存储在类中,以便以后重用它们
因此,您应该使用类似于int[]
或List
的东西,或者更好地使用名为Numbers
的自定义类,方法是getNumber1
getNumber2
getNumber3
希望有帮助 检查代码片段:-
import java.util.*;
public class MyClass
{
public List<Integer> setNumberList = new ArrayList<Integer>();
public void setNumbers(int number1,int number2,int number3)
{
setNumberList.add(number1);
setNumberList.add(number2);
setNumberList.add(number3);
}
public List<Integer> getNumbers()
{
return setNumberList;
}
public static void main(String args[])
{
MyClass obj = new MyClass();
obj.setNumbers(9,2,3);
List<Integer> getyourNumbers= obj.getNumbers();
//the whole data is save in your list now you can get data by iterating it as you
want
System.out.print(getyourNumbers);
}
}
import java.util.*;
公共类MyClass
{
public List setNumberList=new ArrayList();
公共无效集合号(整数1、整数2、整数3)
{
setNumberList.add(number1);
setNumberList.add(number2);
setNumberList.add(number3);
}
公共列表getNumbers()
{
返回setNumberList;
}
公共静态void main(字符串参数[])
{
MyClass obj=新的MyClass();
对象集合号(9,2,3);
List getyourNumbers=obj.getNumbers();
//整个数据保存在您的列表中,现在您可以在访问时通过迭代来获取数据
希望
系统输出打印(获取您的号码);
}
}
检查代码片段:-
import java.util.*;
public class MyClass
{
public List<Integer> setNumberList = new ArrayList<Integer>();
public void setNumbers(int number1,int number2,int number3)
{
setNumberList.add(number1);
setNumberList.add(number2);
setNumberList.add(number3);
}
public List<Integer> getNumbers()
{
return setNumberList;
}
public static void main(String args[])
{
MyClass obj = new MyClass();
obj.setNumbers(9,2,3);
List<Integer> getyourNumbers= obj.getNumbers();
//the whole data is save in your list now you can get data by iterating it as you
want
System.out.print(getyourNumbers);
}
}
import java.util.*;
公共类MyClass
{
public List setNumberList=new ArrayList();
公共无效集合号(整数1、整数2、整数3)
{
setNumberList.add(number1);
setNumberList.add(number2);
setNumberList.add(number3);
}
公共列表getNumbers()
{
返回setNumberList;
}
公共静态void main(字符串参数[])
{
MyClass obj=新的MyClass();
对象集合号(9,2,3);
List getyourNumbers=obj.getNumbers();
//整个数据保存在您的列表中,现在您可以在访问时通过迭代来获取数据
希望
系统输出打印(获取您的号码);
}
}
public Item(int.
这不会编译。它是作为构造函数构造的(没有返回值),但类名为myClass
,而不是Item
公共类myClass这不会编译。class关键字必须是小写的。你的问题基本上是“属性在面向对象编程范式中是如何工作的”。这个问题已经回答了很多次,我不能提供一个简短的答案,我甚至想用图片来回答这个问题。你应该在谷歌上搜索“OOP中的属性是什么”