zoukankan      html  css  js  c++  java
  • 类与对象

    (一)以下代码输出结果是什么?

    Java字段初始化的规律:上述程序中既有初始化块,又有构造方法,同时还设定了字段的初始值,显然在没有调用构造函数时,哪个排在前面哪个先使用,调用函数是根据参数个数确定使用哪个构造函数。

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

    执行类的构造函数。

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

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

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

    验证代码:

    public class Father {

    public static void main(String[] args) {

    // TODO 自动生成的方法存根

    Son yu=new Son();

    System.out.println(yu.a);

    }

    }

    class Son{

    int a=100;

    {

    a=200;

    }

    }

    运行结果:

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

    只要定义一个类的对象在通过对象调用即可。

    示例程序:

    class Eg{

    static int a=100;

    int b=50;

    }

    public class Exercise2 {

    public static void main(String[] args) {

    // TODO 自动生成的方法存根

    System.out.println(Eg.a);

    // System.out.println(Eg.b);    报错,因为不能用静态方法访问实例变量

    Eg e=new Eg();

    System.out.println(e.b);     //可以运行

    }

    }

    运行结果截图:

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

    程序代码:

    //张雪晴 20142992  2015/10/17

    class Nut{

    static int a=0;//计数

    public Nut()

    {

    a++;

    }//每创建一个对象就会调用一次构造函数,所以调用构造函数的次数就是创建对象的个数

    }

    public class WorkOne {

    public static void main(String[] args) {

    // TODO 自动生成的方法存根

    Nut a=new Nut();

    Nut b=new Nut();

    System.out.println("你已经创建了"+Nut.a+"个对象。");

    }

    }

    结果截图:

  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/1443188449qq/p/4887199.html
Copyright © 2011-2022 走看看