java 初始化与方法

初始化与方法

 

 

·方法(函数),可以称之为是一个类中的最小单位。下面以一个例子说明怎样定义方法:

 

 

下面是一个特殊的函数:构造函数(constructor),构造函数是没有返回类型的。

public class MethodTest {

    int a;

    int b;

    //这是默认的构造函数,如果在一个类中没有写构造函数

    //则系统会自动给其默认一个构造函数

    public MethodTest() {

      

    }

    //带参数的构造函数

    public MethodTest(int a,int b) {

       //this指的就是MethodTest这个类

       //也可以算是一个类的引用

       this.a = a;

       this.b = b;

       System.out.println("赋值完成.a:"+a+",b:"+b);

    }

 

    public static void main(String[] args) {

       MethodTest mt = new MethodTest();

       MethodTest mt1 = new MethodTest(5,6);

    }

}

以上两个MethodTest()构造函数也叫做方法的重载

public void fun() {

      

    }

    public void fun(int a) {

      

    }

    public void fun(String str) {

      

    }

这里这三个方法返回值类型以及方法名都是一样的,只有参数列表不一样,这样的一系列方法就叫做:方法的重载

但下面这两方法就不是方法的重载,而是不允许出现的

public void fun(int a) {

      

    }

    public void fun(int b) {

      

    }

因为这只是参数中的变量名不一样,如果参数的类型不一样就可以了,就像上面例子的后面两方法一样。

 

·this关键字

 

下面再以一个例子来说明一下this关键字:

public class ThisTest {

   

    int num;

   

    /**

     * 带参数的构造函数

     * @param num 在构造的时候要传入的一个int类型的值

     */

    public ThisTest(int num) {

       this.num = num;

    }

   

    /**

     * 自定义的一个函数

     * 调用一次就让该类里的num1

     * @return 返回自己,也就是这个类本身

     */

    public ThisTest getThis() {

       num++;

       return this;

    }

   

    /**

     * 自定义的一个函数

     * 输出num的值

     */

    public void print() {

       System.out.println("num:"+num);

    }

 

    public static void main(String[] args) {

       //构造该类的时候给num赋值为2

        //因为getThis()这个方法的返回值是ThisTest这个类,所以可以多次这样点调用

       //调用三次getThis()之后num的值加到了5

       new ThisTest(2).getThis().getThis().getThis().print();

       //~在这里将会输出num:5

    }

 

}

 

·static关键字

Static(静态)方法内是没有this关键字的。在static方法内不能调用非静态方法,但非静态方法内是可以调用static(静态)方法的。Static(静态)出现的主要目的则是可以通过类名来直接调用static的方法。下面以一个例子来说明一下此关键字

public class StaticTest {

    /**

     * 这是一个static(静态)的方法,可以通过类名直接调用

     * 1target的和

     * @param target 目标数,如果target等于10,那就是求110之间的和

     * @return 返回和

     */

    public static int result(int target) {

       int result = 0;

       for(int i=1;i<=target;i++) {

           result = result+i;

       }

       return result;

    }

    public static void main(String[] args) {

       //这里也可不用类名,写成:System.out.println("结果是:"+result(100));

       System.out.println("结果是:"+StaticTest.result(100));

    }

}

·初始化

 

class Cup {

    Cup(int marker) {

       System.out.println("Cup("+marker+")");

    }

   

    void fun(int marker) {

       System.out.println("fun("+marker+")");

    }

}

 

class Cups {

    Cups() {

       System.out.println("Cups()");

    }

    没显示完,请下载附件查看完事版!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值