2017年計算機二級考試java章節(jié)輔導:對象的使用

字號:


    6.3.2 對象的使用
    對象的使用包括引用對象的成員變量和方法,通過運算符 • 可以實現(xiàn)對變量的訪問和方法的調(diào)用,變量和方法可以通過設定一定的訪問權(quán)限來允許或禁止其它對象對的訪問 。 我 們 先 定 義 一 個 類 Point,它 在 例 6.5的 定 義 中 添 加 了 一 些 內(nèi) 容 。
    例6.6
    class Point{
    int x,y;
    String name = "a point";
    Point()
    {
    x = 0;
    y = 0;
    }
    Point( int x, int y, String name )
    {
    this.x = x;
    this.y = y;
    this.name = name;
    }
    int getX()
    {
    return x;
    }
    int getY()
    {
    return y;
    }
    void move( int newX, int newY )
    {
    x = newX;
    y = newY;
    }
    Point newPoint( String name )
    {
    Point newP = new Point( -x, -y, name );
    return newP;
    }
    boolean equal( int x, int y )
    {
    if( this.x==x && this.y==y )
    return true;
    else
    return false;
    }
    void print()
    {
    System.out.println(name+" : x = "+x+" y = "+y);
    }
    public static void main( String args[] ){
    Point p = new Point();
    p.print();
    p.move(50,50);
    System.out.println("** after moving **");
    System.out.println("Get x and y directly");
    System.out.println("x = "+p.x+" y = "+p.y);
    System.out.println("or Get x and y by calling method");
    System.out.println ("x = "+p.getY()+" y = "+p.getY());
    if( p.equal(50,50) )
    System.out.println("I like this point!!!! ");
    else
    System.out.println("I hate it!!!!! ");
    p.newPoint( "a new point" ).print();
    new Point( 10, 15, "another new point" ).print();
    }
    }
    運行結(jié)果為:
    C:\java UsingObject
    a point : x = 0 y = 0
    **** after moving *****
    Get x and y directly
    x = 50 y = 50
    or Get x and y by calling method
    x = 50 y = 50
    I like this point!!!!
    a new point : x = -50 y = -50
    another new point : x = 10 y = 15
    1. 引用對象的變量
    要訪問對象的某個變量,其格式為:
    objectReference.variable
    其中objectReference是對象的一個引用,它可以是一個已生成的對象,也可以是能夠生成對 象引用的表達式 。
    例如 :我們用Point p=new Point();生成了類Point的對象p后,可以用p.x,p.y來訪問該點的 x、 y坐標,如
    p.x = 10; p.y = 20;
    或者用new生成對象的引用,然后直接訪問,如 :
    tx = new point().x;
    2. 調(diào)用對象的方法
    要調(diào)用對象的某個方法,其格式為 :
    objectReference.methodName ( [paramlist] );
    例 如 我 們 要 移 動 類 Point的 對 象 p,可 以 用
    p.move(30,20);雖然我們可以直接訪問對象的變量 p.x、p.y來改變點 p的坐標,但 是 通 過 方 法 調(diào) 用 的 方 式來實現(xiàn)能更好地體現(xiàn)面向?qū)ο蟮奶攸c,建議在可能的情況下盡可能使用方法調(diào)用。同樣,也可以用new生成對象的引用,然后直接調(diào)用它的方法,如
    new point(). move (30,20);
    前面已經(jīng)講過,在對象的方法執(zhí)行完后,通常會返回指定類型的值,我們可以合法地使 用這個值,如:例6.6中類Point的方法equal返回布爾值,我們可以用它來作為判斷條件分別執(zhí)行 不同的分支。 如 :
    if (p.equal (20,30)){
    …… //statements when equal
    }else {
    …… //statements when unequal
    }
    另外,類Point的方法newPoint返回該點關于原點的對稱點,返回值也是一個Point類型, 我們 可以訪問它的變量或調(diào)用它的方法,如 :
    px = p.newPoint().x 或
    px = p.newPoint(). getX();