• java动手动脑 2


        类的初始化

    public class InitializeBlockClass {

    {

    field=200;

    }

    public int field=100;

    public InitializeBlockClass(int value)

    {

    this.field=value;

    }

    public InitializeBlockClass()

    {

    }

    public static void main(String[] args) {

    InitializeBlockClass obj=new InitializeBlockClass();

    System.out.println(obj.field);

    obj=new InitializeBlockClass(300);

    System .out .println(obj.field);

    }

    // TODO Auto-generated method stub

    }

    输出结果;

     

    初始化第一次是用了类的初始化块,第二次用了publicint初始化,所以第二次覆盖了第一次,输出了100,在main函数中给类InitializeBlockClass赋初值300,所以覆盖100,输出300, 所以类的初始化有类的初始化块,还可以直接在类中赋值,还可以用一个函数为类的属性赋值,还可以构造函数。

     

     

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

    例如

    package fatherandson;

    public class fatherandson {

    public static void main(String[] args){

    Son a=new Son();

    a.show();

    }

    }

    class Father{

    String name;

    {

    name="father";

    }

    }

    class Son extends Father{

    int age=30;

    void show()

    {

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

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

    }

    }

    最后输出  nameFather

                 age 30

    静态方法中只允许访问静态数据,也可以在静态方法中访问类的实例成员

    public class StaticTest {

         public static void main(String args [])

        {

           test b=new test();   b.print();  

       }

    }

    class test {  

       int i=1;   

      static void print()    

      {       

           test a=new test();  

           System.out.println(a.i);  

       }

    }

    最后输出   1

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

    package jishu;

    public class jishu{ 

    public static void main(String[] args){

    Information a = new Information();

    a.OutputInformation(); 

    Information b = new Information();

    b.OutputInformation();

    } }

    class Information{ 

    static int num=0;

    Information()

    { num++;

    }

    public void OutputInformation()

     { 

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

    }

     

  • 相关阅读:
    bootstrapValidator重新校验/全选回显
    mybatis遍历map参数查询
    location.href传json字符串
    springmvc异步处理
    intellIJ IDEA学习笔记3
    intellIJ IDEA学习笔记2
    intellIJ IDEA学习笔记
    maven国内镜像
    Docker版本Jenkins的使用
    Docker容器网络
  • 原文地址:https://www.cnblogs.com/1336303471-tengxianliang/p/4887740.html
Copyright © 2020-2023  润新知