如何在一个对象上调用同一个类中的两个方法?我的意思是我尝试编写一个类,它是运行上面代码的方法:
wcstombs
我正在创建Calculate类及其两个方法。 do_calc()和get_volume(a)。我应该如何编写这个类来运行该代码。
答案 0 :(得分:0)
如果不是return this;
,则必须在每个课程方法的末尾static
static
。如果方法是public class Calculation {
public static Calculation do_calc () {
//do your calculation
return null;
}
public static Calculation get_volume(int x) {
//do your calculation
return null;
}
}
,请执行以下操作:
Calculation.do_calc().get_volume(1);
然后你可以写:
null
返回return new Calculation();
没问题,因为这些方法是静态的,并且与类的特定实例无关。如果你不喜欢它,那么public class Calculation {
int result;
public static Calculation do_calc () {
//do your calculation
Calculation c=new Calculation();
c.result = theResultOfTheCalculation;
return c;
}
public void get_volume(int x) {
//do your calculation for example:
System.out.println(result + x);
}
}
[编辑]
如果需要将结果传递给第二个方法,第一个方法应该返回一个真实对象:
function regExpFromString(q) {
let flags = q.replace(/.*\/([gimuy]*)$/, '$1');
if (flags === q) flags = '';
let pattern = (flags ? q.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1') : q);
try { return new RegExp(pattern, flags); } catch (e) { return null; }
}
console.log(regExpFromString('\\bword\\b'));
console.log(regExpFromString('\/\\bword\\b\/gi'));
答案 1 :(得分:0)
除非do_calc()返回de函数get_volume()所在的类,否则永远不应该这样做。
答案 2 :(得分:0)
以下是一些小样本。
public class ChainTest {
public static void main(String[] args) {
System.out.println(new ChainTest().do_calc().get_volume(1));
}
public ChainTest do_calc() {
// do something;
return ChainTest.this;
}
public int get_volume(int a) {
return a;
}
}
答案 3 :(得分:0)
您无需在一行中编写代码。您可以在不同的行中调用相同的对象方法。
Calculator calculator = new Calculator();
calculator.do_calc();
calculator.get_volume(a);
如果你想要静态方法
Calculator.do_calc();
Calculator.get_volume(a);
答案 4 :(得分:0)
案例1如果do_calc是静态的
public class Calculator {
public static void main(String[] args) {
System.out.println(Calculator.do_calc().get_volume(1));
}
public static Calculator do_calc() {
Calculator calculator = new Calculator();
// do something;
return calculator;
}
public float get_volume(int a) {
return a;
}
}
案例2:如果do_calc不是静态的
public class Calculator {
public static void main(String[] args) {
System.out.println(new Calculator().do_calc().get_volume(1));
}
public Calculator do_calc() {
Calculator calculator = new Calculator();
// do something;
return calculator;
}
public float get_volume(int a) {
return a;
}
}
案例3:如果两者都有回复类型浮动,就像你在评论
中提到的那样public class Calculator {
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.do_calc();
System.out.println(calculator.get_volume(1));
}
public float do_calc() {
// do something;
return 1f; // return your result
}
public float get_volume(int a) {
// do something;
return a;
}
}