zoukankan      html  css  js  c++  java
  • 课堂作业及 动手动脑问题整理

    课堂作业一

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

    程序:

    package com;

    public class Duixiang {

    public static void main(String[] args){

    duixiang a=new duixiang();

    a.out();

    duixiang b=new duixiang();

    b.out();

    }

    }

    class duixiang{

    static int n=0;

    duixiang(){

    n++;

    }

    public void out(){

    System.out.println("你已经创建了"+n+"个对象!");

    }

    }

    结果截图:

    课堂问题整理

    一、进行试验:

    运行结果:100   300

    Java字段初始化的规律:所有类的变量都默认初始化为null,数字类的原始数据类型默认初始化为0boolean默认初始化为false;进行初始化的地方有初始化块和构造函数,初始化快分为静态初始化块和实例初始化块。执行类成员定义时指定的默认值或类的初始化块,到底执行哪个要看哪个“排在前面”。

    二、动手动脑:

        当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

    请自行编写示例代码验证以上结论。

    程序:

    package com;

    public class Animal {

    public boolean live=true;

    public String skin="";

    public void eat(){

    System.out.println("动物需要吃食物");

    }

    public void move(){

    System.out.println("动物会运动");

    }

    }

    class Bird extends Animal{

    public String skin="羽毛";

    public void move(){

    System.out.println("鸟会飞");

    }

    class Zoo{

    public static void main(String[] args){

    Bird bird=new Bird();

    bird.eat();

    bird.move();

    System.out.println("鸟有:"+bird.skin);

    }

    }

    截图:

    三、动手动脑:

            请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。

            结果截图:

    静态初始化块的执行顺序:

    1、静态初始化块只执行一次。

    2、创建子类型的对象时,也会导致父类型的静态初始化块的执行。

    四、一个有趣的问题:

        静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

    请编写代码验证你的想法。

    程序:

    package com;

    public class ButtonFactory {

    private static ButtonFactory _instance=null;

    public static ButtonFactory getInstance(){

    if(null==_instance)

    _instance=new ButtonFactory();

    return _instance;

    }

  • 相关阅读:
    vmodel.lazy详解
    import Vue from 'vue'如何解释?
    ubuntu安装deb文件包
    vue安装
    多线程和多进程的区别
    SLH(Location Sensitive Hash)学习
    hadoop学习笔记(一)简介
    [转]关于协同过滤的好文章
    Linear Regression练习
    regularized 线性回归练习
  • 原文地址:https://www.cnblogs.com/cn123456/p/4887659.html
Copyright © 2011-2022 走看看