我对 Java OO 编程比较陌生,并且已经回顾了与此类似的问题,尽管它们似乎没有直接回答我的问题。
基本上,我知道如果类中的数据成员被声明为private,那么它只能从同一个类中访问。
我的讲师总是建议所有属性都应声明为私有 -这是为什么?
现在我熟悉使用 GET 方法,我的问题是,是否可以通过从另一个类调用 PUBLIC“get”方法(返回上述属性)来在其自己的类之外访问私有属性?
例如:
public class Class()
{
private int number = 0;
public Class()
{
}
public int getNumber()
{
return number;
}
}
Run Code Online (Sandbox Code Playgroud)
然后来自另一个班级:
public class Class2()
{
Class class = new Class();
public void showNumber()
{
System.out.print(class.getNumber());
}
}
Run Code Online (Sandbox Code Playgroud)
第二个代码块是否允许 Class2 内的showInt()中的方法实际访问 Class 的私有属性?
我想我真的很难决定是否应该将任何属性或方法声明为公共或私有。
是否有任何应该遵循的特定经验法则?
感谢回复者提供的任何帮助。
亲切的问候
我的代码是将RSS提要添加到列表中 - 最初的代码只是从列表中的第一个位置提取一个提要,并将此对象添加到另一个列表中.
这是原始代码:
public static List<Feed> getFeedsFromXml(String xml) {
Pattern feedPattern = Pattern.compile("<feed>\\s*<name>\\s*([^<]*)</name>\\s*<uri>\\s*([^<]*)</uri>\\s*</feed>");
Matcher feedMatch = feedPattern.matcher(xml);
while (feedMatch.find()) {
String feedName = feedMatch.group(1);
String feedURI = feedMatch.group(2);
feeds.add(new Feed(feedName, feedURI));
}
return feeds;
}
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public String addXmlFeed() throws IOException
{
int i = 0;
String stringXml = "<feed><name>SMH Top Headlines</name><uri>http://feeds.smh.com.au/rssheadlines/top.xml</uri></feed><feed><name>UTS Library News</name>";
getFeedsFromXml(stringXml);
Feed f = (Feed) feeds.get(0);
feedList.add(f);
String handler = "You have successfully added: \n";
String xmlStringReply = "" + f + "\n"; …Run Code Online (Sandbox Code Playgroud) 我正在处理交易的数据转储,该数据转储不是出于任何目的以非常友好的格式从特定系统导出的。
Excel 中的数据目前由大约 700,000 行组成,而一旦组织正确,应该只包含 70,000 行,其中一列的唯一值被转置到一些附加列中。
目前我正在使用下面这样的(简化的)示例;
Request_ID Status Field_Name Value
01000 Rejected Name John Smith
01000 Rejected Acc Number 123456
01000 Rejected Date 1/12/2015
01000 Rejected Enquiry Type Type 1
01000 Rejected Reason Reason 1
01001 Completed Name Jane Jones
01001 Completed Acc Number 123457
01001 Completed Date 1/12/2015
01001 Completed Enquiry Type Type 2
01001 Completed Reason Reason 2
Run Code Online (Sandbox Code Playgroud)
前两列(Request_ID和Status)是简单的重复值,以满足与每个单独请求相关的众多数据行。
所述FIELD_NAME列是特定列重复为每个唯一的REQUEST_ID同一组上各行的值-和值列列出与每个FIELD_NAME相应值。
它是第 3 列和第 4 列(Field_Name和Value …
我试图使用Switch语句作为菜单界面,我想知道如何包含一个"帮助"选项,由用户输入'?'触发 符号.
但由于Switch正在接受'char'类型,我不确定这是怎么回事.
你能指点我正确的方向吗?
这是我到目前为止的非编译代码:
private char readChoice()
{ System.out.print("Choice (a/b/c/s/?/x): ");
return In.nextLine().toLowerCase().charAt(0); }
private void execute(char choice)
{ switch (choice)
{ case 'a': routes.show(); break;
case 'b': customers.book(routes); break;
case 'c': customers.show(); break;
case 's': routes.showSchedule(); break;
case '\?': showHelp(); break;
case 'x': break; }}
private String showHelp()
{ String helpText = " A/a Show bookings by route\n";
helpText += " B/b Book a trip\n";
helpText += " C/c Show bookings by customer\n";
helpText += " ? Show …Run Code Online (Sandbox Code Playgroud)