构造函数接受String并将其存储在局部变量
modifier
中。然后我想通过modifier
方法返回getModifer()
。但是,该方法无法返回从构造函数传入的String
。请帮我看看问题所在。谢谢!
private String modifer;
public UMLAccessModifer(String input)
{
/**
* Takes in the type of access modifier.
*/
this.modifer = input;
if(input.toLowerCase().contains("public")){
this.modifer = "public";
}
else if(input.toLowerCase().contains("private")){
this.modifer = "private";
}
else if(input.toLowerCase().contains("protected")){
this.modifer = "protected";
}
else {
this.modifer = "private";
}
}
public String getModifer() {
/**
* Returns the string of Modifier.
*/
return modifer;
答案 0 :(得分:0)
这是一个有点简化的代码版本,可以使用:
public class UMLAccessModifier
{
private String modifier;
public UMLAccessModifier(String input)
{
if(input.toLowerCase().contains("public"))
{
modifier = "public";
}
else if(input.toLowerCase().contains("protected"))
{
modifier = "protected";
}
else
{
modifer = "private";
}
}
public String getModifier()
{
return modifier;
}
}
不确定您在做什么,但getModifier()
肯定会返回modifier
。很可能你没有通过你认为的那样,或者你在某种程度上改变了返回值,但我保证会返回String
。
我唯一能想到的是你期望从只调用构造函数返回字符串,这不会发生。您需要从构造函数中获取的对象中调用getModifier()
,即:
UMLAccessModifier test = new UMLAccessModifier("garbage");
System.out.println(test.getModifier());
//prints: private