有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    i=33;
    

    这就是所谓的^{}(*)

    这是^{}的一种类型

    Statement只能出现在^{}内(尽管Block可以出现在Statement内)

    类声明不是Block,因此不能在那里使用Statement,除非将其包装在块中(例如,方法体或初始值设定项)

    ^{}内直接发生的事情只有:

    ClassBody:
      { {ClassBodyDeclaration} }
    
    ClassBodyDeclaration:
      ClassMemberDeclaration
      InstanceInitializer
      StaticInitializer
      ConstructorDeclaration
    
    ClassMemberDeclaration:
      FieldDeclaration
      MethodDeclaration
      ClassDeclaration
      InterfaceDeclaration
    

    (*)实际上它什么都不是,因为它不是有效的语法。如果完全相同的行出现在Block内,则它将是ExpressionStatement


    这两条线之间的哲学区别:

        int i=5;
        i=33;
    

    第一个是“宣布”某事,而第二个是“做”某事。你只能在一个街区内“做”