• Java作业03 (动手动脑和课后作业1.使用下面定义的类,以下代码输出结果是什么?)


    1.使用下面定义的类,以下代码输出结果是什么?

    输出结果:

    请依据代码的输出结果,自行总结Java字段初始化的规律。

    Java初始化的地方有两个:初始化块和构造函数,其中初始化又分为实例初始化块和静态初始化块,实例初始化块没有关键字修饰,而静态初始化块由static修饰。

    执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”

    执行类的构造函数:类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

    2.当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。请自行编写示例代码验证以上结论

    示例代码:

    public class Jicheng {

    public static void main(String[] args){

    Son a=new Son();

    a.show();

    }

    }

    class Father{

    String name;

    {

    name="Father";

    }

    }

    class Son extends Father{

    int age=20;

    void show()

    {

    System.out.println("名字"+name);

    System.out.println("年龄"+age);

    }

    }

    结果截图:

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

     代码

    class Exercise{

    int a=0;

    static int b;

    static public int getb(int newb)

    {

    b=newb;

    System.out.println(b);

    return b;

    }

    public int num()

    {

    int a=1;

    return a;

    }

    }

    public class Shi {

    public static void main(String[] args){

    Exercise e=new Exercise();

    e.getb(10);

    e.num();

    }

    }

    4.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”

    代码:

    class Jishu{

    private static int a;

    public Jishu()

    {

    a++;

    }

    public static int get()

    {

    return a;

    }

    }

    public class DuixiangNum {

    public static void main(String[] args){

    Jishu j1=new Jishu();

    Jishu j2=new Jishu();

    System.out.println("创建对象的个数为:"+Jishu.get());

    }

    }

  • 相关阅读:
    [CF-Edu113]D. Inconvenient Pairs
    第3组团队Git现场编程实战
    团队项目-选题报告
    第一次个人编程作业
    第一次软工博客作业
    (二十二)python 3 sort()与sorted()
    (二十一)python 3 内置函数
    (二十)python 3 匿名函数
    (十九)python 3 内嵌函数和闭包
    (十八)python 3 回调函数
  • 原文地址:https://www.cnblogs.com/sz20142898/p/4887071.html
Copyright © 2020-2023  润新知