小编Ale*_*exM的帖子

JAVA - 初学者 - 私有类属性可以在类外部访问吗?

我对 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 的私有属性?

我想我真的很难决定是否应该将任何属性或方法声明为公共私有

是否有任何应该遵循的特定经验法则?

感谢回复者提供的任何帮助。

亲切的问候

java private-class

3
推荐指数
1
解决办法
2万
查看次数

JAVA - 如何从for循环外部访问FOR循环内的变量

我的代码是将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)

java for-loop

2
推荐指数
1
解决办法
1716
查看次数

Excel:如何转置选择列并按重复值分组?(一维转二维表)

我正在处理交易的数据转储,该数据转储不是出于任何目的以非常友好的格式从特定系统导出的。

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_IDStatus)是简单的重复值,以满足与每个单独请求相关的众多数据行。

所述FIELD_NAME列是特定列重复为每个唯一的REQUEST_ID同一组上各行的值-和列列出与每个FIELD_NAME相应值。

它是第 3 列和第 4 列(Field_NameValue …

excel transpose pivot-table excel-formula excel-2010

1
推荐指数
1
解决办法
7959
查看次数

如何在"char"类型的Switch中实现一个特殊字符(?)作为选项?

我试图使用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)

java special-characters switch-statement

0
推荐指数
1
解决办法
511
查看次数