• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
起个名太难了
博客园    首页    新随笔    联系   管理    订阅  订阅
动手动脑3

1:【以下代码为何无法通过编译?哪儿出错了?】

代码如下:

 

原因:需要在Foo()里面加个参数。

 

2:【观察输出结果,总结出“静态初始化块的执行顺序”】

代码如下:

复制代码
 1 public class TestStaticInitializeBlock {
 2     public static void main(String[] args) {
 3         new Leaf();
 4     }
 5 }
 6 
 7 
 8 class Root
 9 {
10     static
11     {
12         System.out.println("Root的静态初始化块");
13     }
14     {
15         System.out.println("Root的普通初始化块");
16     }
17     public Root()
18     {
19         System.out.println("Root的无参数的构造器");
20     }
21 }
22 class Mid extends Root
23 {
24     static
25     {
26         System.out.println("Mid的静态初始化块");
27     }
28     {
29         System.out.println("Mid的普通初始化块");
30     }
31     public Mid()
32     {
33         System.out.println("Mid的无参数的构造器");
34     }
35     public Mid(String msg)
36     {
37         //通过this调用同一类中重载的构造器
38         this();
39         System.out.println("Mid的带参数构造器,其参数值:" + msg);
40     }
41 }
42 class Leaf extends Mid
43 {
44     static
45     {
46         System.out.println("Leaf的静态初始化块");
47     }
48     {
49         System.out.println("Leaf的普通初始化块");
50     }    
51     public Leaf()
52     {
53         //通过super调用父类中有一个字符串参数的构造器
54         super("Java初始化顺序演示");
55         System.out.println("执行Leaf的构造器");
56     }
57 
58 }
复制代码

 

 

 

执行顺序:

静态初始化块->初始化块->构造函数

 

3:【静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)? 请编写代码验证你的想法。】

代码如下:

复制代码
 1  public class Quiet {
 2      int x=100;
 3      static int y=200;
 4      public static void method() {
 5          System.out.println("实例变量x="+new Quiet().x);
 6         System.out.println("静态变量y="+y);
 7      }
 8      public static void main(String[] args) {
 9          Quiet.method();
10          Quiet quiet=new Quiet();
11          System.out.println("x="+quiet.x);
12      }
13}

 

 

运行截图如下:

 

 

posted on 2020-10-09 21:35  起个名太难了  阅读(63)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3