Java Note #4

类与对象
面向对象的语言
*记得在哪里看到过,“面向对象”是一种思想,也就是说,C 语言也可以开发出面向对象的程序?
我们想要达到的目标: 易维护,易扩展,易复用
理念:需要完成某种任务时,首先要想到,哪个对象去完成任务;提到数据时。首先想到这个数据是哪个对象的
特性
  • 封装性 —— 数据 + 对数据的 操作
  • 继承性 —— ① 对父类行为的 继承 ② 独有操作的 增添
  • 多态性 —— ① 同名 但接受的 消息类型 不同 ② 同一操作 不同类型对象 调用时,产生的不同的行为
属性通过变量来刻画,行为通过方法来体现。

类体:变量声明+方法定义,用于创建具体实例
例:
class Lader {                                                      //类定义
    float above;                                                   //变量声明
    float bottom;                                                  //变量声明
    float height;                                                  //变量声明
    float area;                                                    //变量声明
    float computerArea() {                                         //定义了一个能够计算梯形面积的方法
        area = (above + bottom)*height/2.0f;
        return area;
    }
    void setHeight (float h) {
        height = h;
    }
}
成员变量
  • 类型:任何类型
  • 有效范围:在整个类内有效,且不受声明位置的影响
  • 编程风格:一行一个;首字母小写;见名知意
方法(例)
int speak()                                //无参数的方法头
{
    return 23;
}
int add(int x, int y, int z)               //有参数的方法头
{
    return x+y+z;
}
  • 方法头: 类型 名称(参数列表)
  • 方法体: 局部变量的声明 + Java 语句 (*只在方法内有效,且与其声明位置有关)

参数传值
对象调用方法时,参数被分配内存空间,并要求调用者向参数传递值,即方法被调用时必须有具体的值。
传值机制:与 C 语言相同,同为“值传递”

可变参数与进化版的 for 语句
例如:
public void g(double a , int ... x) { }
注意:最后一个参数必须是方法的参数列表中的最后一个参数
反例:
public void method (int ... x , int y ) {  }
在参数个数经常需要变化时,非常好用。
如:
public int getSum(int ... x) {
    int sum = 0;
    for(int = 0;i<x.length;i++) {                                
        sum=sum+x[i];           //用下标来访问可变参数
        }
    return sum;
}

其中的 for 循环部分可以替换为
for(int param : x) {                //即 for(声明循环变量 : 参数代表){   }
    sum = sum + param;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值