JAVA 面向对象 编程

成员方法

语法规则:

class 类名{

      返回值类型 成员方法名 (形参列表){

                         成员方法体;

    }

}

class Person{

           void  showName(name){

                      System.out.println(name);

}

}

第二个单词起,首字母大写

格和函数类似

成员方法主要用于编写描述该方法功能的语句块

成员方法可以实现代码的重用

方法的调用:

引用变量名.成员方法名(实参列表);

无参数成员方法

如,

void show (){

      sout("name = "+name);

      sout("age = "+age);

}

有参数, 无返回值的方法

void change(int a , int b){

          x=a;

          y=b; 

}

参数传递的注意事项

基本数据类型的变量 作为方法的参数传递时,形参数值的改变,不会影响到实参的数值

引用数据类型的变量,作为方法的参数传递时,形式参数值的改变,会影响到实参数的值

二、方法和封装

构造方法

构造方法名 和 类名 相同

没有返回值类型

可以有多个构造方法,如,有参数的构造方法 和 无参数的构造方法,方便调用

new Person(); 会调用构造放方法;若没有定义构造方法,则为默认构造方法 Person(){}

构造方法的作用:

通过构造方法传参数,初始化成员变量

案例:

实现Point类的构造方法

默认创建x,y值为原点的Point类的实例化对象

以及,可以传参创建的Point类的实例化对象 Point(int i, int j)

重载Overload

同名成员方法,根据参数个数、类型、参数顺序的不同,在调用方法时,编译器自动识别,实现重载

只有参数的变量名不同时,无法实现重载

只有返回值不同时, 无法实现重载

案例:

Point类,自定义成员方法,纵坐标减1

自定义成员方法,纵坐标减去指定的参数值

this关键字

在构造方法中的 this,代表当前正在构造的对象, 即实例化后的对象

在成员方法中的 this,代表当前正在调用的对象, 
正在构造的对象,和正在调用的对象,是同一个实例化对象
 

this 代表当前类 类型的引用变量
this 指向 类
 

工作原理:

类中的成员变量, 在使用时,默认隐含 this 关键字,完整格式为 this.name

this 代表的是当前实例化的对象,所以不同的对象分别调用同一个成员方法时,会有不同的结果

使用方式:

1.当成员方法中的形参和成员变量名同名时,编译器无法识别,都默认为带有this的成员变量this.name 和形参name区分

2.作为方法的返回值
``` Point getPoint() { return this; }
Point point = new Point(); // 调用成员方法 Point point2 = point.getPoint();
// 这样调用之后,point 和 point2 会指向同一个实例化对象 ```

3.在构造方法的第一行,可以使用 this 关键字调用构造方法, 
``` // 无参数构造方法 Boy() { // 调用的是有参数的构造方法,传入参数“Benjamin” this("Benjamin"); }
// 有参数构造方法 Boy(String name) { this.name = name; } ```

注意引用变量的数字可以为空,但是会导致空指针异常

案例1: n 的阶乘

递推方式

递归方式

案例2: 费式数列/斐波那契数列

递推方式

递归方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值