Java私塾跟我学系列――JAVA篇 第四章Java类和对象

 

九、Java类的基本运行顺序                                   

作为程序员,应该对自己写的程序具备充分的掌控能力,应该清楚程序的基本运行过程,否则糊里糊涂的,不利于对程序的理解和控制,也不利于技术上的发展。

我们以下面的类来说明一个基本的Java类的运行顺序: 

1publicclass Test {

2   private String name = "Java私塾";

3   privateint age = 2;

4   public Test(){

5      age = 1000;//期望能到1000年,呵呵

6   }

7   publicstaticvoid main(String[] args) {

8      Test t = new Test();

9      System.out.println(t.name+"的年龄是"+t.age+"年");

10  }  

11 }

运行的基本顺序是:

(1):先运行到第7行,这是程序的入口

(2):然后运行到第8行,这里要new一个Test,就要调用Test的构造方法

(3):就运行到第4行,注意:可能很多人觉得接下来就应该运行第5行了,错!初始化一个类,必须先初始化它的属性

(4):因此运行到第2行,然后是第3行

(5):属性初始化完过后,才回到构造方法,执行里面的代码,也就是第5行

(6):然后是第6行,表示new一个Test实例完成

(7):然后回到main方法中执行第9行

(8):然后是第10行 

运行的结果是:Java私塾的年龄是1000年

说明:这里只是说明一个基本的运行过程,没有考虑更多复杂的情况。  

作业                                 

1.当你试图编译和执行下面的程序时会发生什么?

class Mystery{

   String s;

   public static void main(String[] args){

     Mystery m=new Mystery();

     m.go();     

   }

   void Mystery(){

     s="constructor";

   }

   void go(){

     System.out.println(s);

   }

}

选择下面的正确答案:

A 编译不通过

B 编译通过但运行时产生异常

C 代码运行但屏幕上看不到任何东西

D 代码运行,屏幕上看到 constructor

E 代码运行,屏幕上看到 null 

以下是编程题:

1.编写一个名为MyPoint类,其中含有int类型的x 和y 属性,并写出有参和无参的两个构造方法,以及getX和setX、getY 和setY 方法,再重写toString方法用来显示对象的x、y的值,如显示(1,2),然后进行调试。 

2.将上面的MyPoint类对象x和y属性的值由命令行输入,根据命令行参数个数,若不带任何命令行参数,则显示(0,0);若传一个参数,则打印(此参数值,0);若传两个参数,则打印(第一个参数值,第二个参数值)。 

3.设计一个银行帐户类(Account),具有户名(accountName)、帐号(accountNo)、余额(balance)等属性,以及存款(deposit)、取款(withdraw)等方法,并对此类进行测试。 

4.设计个Circle类,其属性为圆心点(类型为前面设计的类MyPoint)和半径,并为此类编写以下三个方法:

    一是计算圆面积的calArea()方法;

    二是计算周长的calLength();

    三是boolean inCircle(MyPoint mp)方法,功能是测试作为参数的某个点是否在当前对象圆内(圆内,包括圆上返回true;在圆外,返回false)。

5.创建一个桌子Table类,该类中与桌子名称、重量、桌面宽度、长度和桌子高度属性,

     以及以下几个方法。

     1) area(): 计算桌面的面积。

     2) display(): 在屏幕上输出所有成员变量的值。

     3) changeWeight(int w): 改变桌子重量。                 

     然后在main放中实现创建一个桌子对象,计算桌面的面积,改变桌子重量,并在屏幕上输出所有桌子属性的值。    

     上面任务完成后,再为table类添加几个构造方法,并在main方法中调用不同的构造方法,创建几张桌子。然后进行调试。

6.编写一个MyArray 类,其中添加一个属性为整型数组,再添加一个构造方法对数组赋初值,以及为该类添加数组求和方法,返回求和得到的值。最后写一个测试类利用MyArray类计算数组的求和值并输出。

Java私塾跟我学系列——JAVA  网址:http://www.javass.cn  电话:010-68434236 

你可能感兴趣的:(java,程序员,职场,休闲)