一.程序设计思想

(1).首先建立一个类,设置几个函数。

(2).定义int型变量num=0,每个函数调用一次num便会加1。

(3).在最后main函数中调用几次函数,输出num。

二.程序源代码

package 创建对象个数;

public class Duixiang

{
     static int num=0;
     public void s1()
   {
      num++;
    }
     public void s2(int a)
   {
      num++;
    }
     public void s3(int b,int c)
   {
      num++;
    }

     public static void main(String[] args)
     {
      Duixiang a1=new Duixiang();
      a1.s1();
      a1.s2(666);
      a1.s3(666,666);
      System.out.println("共创建了"+num+"对象");
     }
}

三.实验结果截图

 

 

动手动脑问题答案

1.int value=100;和MyClass obj=new MyClass();这两种方式定义的变量是一样的么?

     答:不一样。前面只定义一个变量,后者定义的对象变量。

2.请输入以下代码,得到什么结果?

结果:

 

 3.动手动脑:以下代码为何无法通过编译?哪出错了?

 

 答:构造函数未定义。new Foo()缺少参数。

4.进行实验:以下代码输出结果是什么?请根据代码的输出结果,自行总结Java字段初始化规律。

运行结果:100

                   300

规律:所有类的变量都默认初始化null,数字类的原始数据类型默认初始化为0。执行类的成员定义的默认值或类的初始化块,到底执行哪个要看哪一个排在前面。类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码”。

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

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

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

调用了java.lang.String类,包含了字符串的值和实现比较特殊,可以不适用构造方法,就可以直接获得一个字符串对象。

7.两对整数明明完全一样,为何一个输出true,一个输出false?

 

posted on 2017-10-19 22:38  如果,当时。  阅读(98)  评论(0编辑  收藏  举报