数据加载中……
面向对象的方法

面向对象的方法要先建一个类,这个类相当于一个模板,然后要为这个类实例化一个对象。然后对这个对象才能进行操作。

类具有状态和行为的方式。

状态就像人这个类的状态有身高和体重,行为有吃饭这个行为。

下面用一个点来说明

public class point

{

    int x,y;

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point();

        {

            pt.x=10;

            pt.y=10;

            pt.output();            

        }

    }

}

构造函数,构造函数和类的方法类似。构造方法的名字和类名相同,并且没有返回值,构造方法主要为类的对象定义初始化状态。

我们不能直接调用构造函数,只能通过new关键字来调用从而创建类的实例

Java的类都要求有构造方法,如果没有定义构造方法,则java会默认使用一个缺省的方法,就是不带参数的方法。

public class point

{

    int x,y;

    point()

    {

        x=5;

        y=10;

    }

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point();

        {

            pt.output();            

        }

    }

}

对于构造方法,还可以使用参数的方法,在实例化对象的时候,直接传递参数就可以了

public class point

{

    int x,y;

    point(int a,int b)

    {

        x=a;

        y=b;

    }

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point(3,3);

        {

            pt.output();            

        }

    }

}

New关键字的作用

为对象分配内存空间。

引起对象构造方法的调用。

为对象返回一个引用。

 

各种数据类型的默认值是:

数值型: 0

Boolean: false

Char: "\0"

对象: null

 

public class point

{

    int x,y;

    point(int a,int b)

    {

        x=a;

        y=b;

    }

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point(3,3);

        {

            pt.output();            

        }

    }

}

输出是0 0

带参数的构造方法和不带参数的构造方法可以同时使用。只要参数类型或参数个数不同。在调用是是通过对指定参数类型和参数个数的方法来调用哪个构造方法。

 

 

这就是方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。

public class point

{

    int x,y;

    point(int a,int b)

    {

        x=a;

        y=b;

    }

    point()

    {

        

    }

    

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point();

        {

            pt.output();            

        }

        /*pt=new point(3,3);

        {

            pt.output();

        }*/

    }

}

这2种方法都是可以使用的。

posted on 2008-03-05 11:58 rick 阅读(225) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: