zoukankan      html  css  js  c++  java
  • java课堂 动手动脑3

    1

     

    该函数没有赋初值再就是如果类提供一个自定义的构造方法,将导致系统不在提供默认的构造方法。

    2

    public class test

    {

              public static void main(String[] args)

              {

                     // TODO Auto-generated method stub

                    InitializeBlockClass obj=new InitializeBlockClass();

                    System.out.println(obj.field);

                    obj=new InitializeBlockClass(300);

                    System.out.println(obj.field);

               }

      }

    class InitializeBlockClass

    {

          {field=200;}

          public int field=100;

          public InitializeBlockClass(int value){this.field=value;}

          public InitializeBlockClass(){}

    }

    java字段的所有类的变量都默认初始化为null,比如String a; Integer b;

    数字类的原始数据类型默认初始化为0,比如int a; short b; char c;

    boolean默认初始化为false。执行类成员定义时指定的默认值或类的初始化模块到底执行那一个,要看哪一个在排在前面

    2,:执行类的构造函数

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

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

    答:静态初始化块只能执行一次,创建子类对象时也导致父类型的静态初始化块也执行一次。

    3)静态方法中访问类的实例成员

    例子:

    public class ButtonFactory

     {

               private static ButtonFactory _instance = null;

               public static  ButtonFactory getInstance()

            {

                  if(null == _instance)

                  _instance = new ButtonFactory();

                  return _instance;

            }

    }

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

    实例:

    public class Objictnumber

    {

          int number;

          public Objictnumber()

         {

                ++number;

                System.out.println("目前创建了"+number+"个对象");

         }

         public static void main(String[]args)

        {

             @SuppressWarnings("unused")

             Objictnumber obj=new Objictnumber();

         }

     }

  • 相关阅读:
    redis分布式锁解决超卖问题
    redis使用
    Xcode 解决日志打印不全问题
    苹果电脑系统怎么重装?这几步就可以轻松搞定
    Mac 一键显示所有隐藏文件 不要那么六好吧
    iOS导入高德地图出现缺失armv7--"Undefined symbols for architecture armv7"
    如何生成.a文件,小心有坑!!
    保护你的代码,生成.a文件以及.framework文件需要注意的地方
    二维码扫描工具实现
    iOS 调整图片尺寸,告诉你的UI,别问我尺寸!我要最大的
  • 原文地址:https://www.cnblogs.com/conquer-vv/p/5982499.html
Copyright © 2011-2022 走看看