唠唠SE的面向对象-01——对象

1. 面向对象

对象的概念:

    对象(object)代表现实世界中可以明确标识的一个实体。

例如:一个学生、一张桌子、一间教室,一台电脑都可以看做是一个对象。

每个对象都有自己独特的状态标识和行为对象的属性(attribute),或者状态(state)。

学生有姓名和学号,该学生特有的姓名和学号就是该学生(对象)的属性。

对象的行为(behavior),是由方法定义,调用对象的一个方法,其实就是给对象发消息,要求对象完成一个动作。

可以定义学生对象具备学习的行为。学生对象可以调用学习的方法,执行学习的动作。

举个栗子:定义一个汽车类,并生产出汽车,有颜色,轮胎(tyre)个数,有运行(run)的功能。

    对象 = 属性 + 行为

public class Car {
    String color;
    int tyre;
    
    void run() {
        if (tyre < 4) {
            System.out.println("汽车少了轱辘,跑不了。。。");
        }else {
            System.out.println("汽车跑了。。。");
        }
    }
    
    public static void main(String[] args) {
        Car car = new Car();
        car.color = "red";
        car.tyre = 3;
        car.run();
        car.tyre = 4;
        car.run();
    }
}

运行结果:
    汽车少了轱辘,跑不了。。。
    汽车跑了。。。

 

 

创建对象

1. 使用new关键词,就像new数组一样

2. 需要给汽车起一个名字,也就是变量名:car

3. 变量都是有类型的,car属于什么类型,属于Car类型,叫做类类型

 

调用对象的属性/方法

直接 对象.*** 就可以调用对应的成员变量/成员方法

如上面的car.run();

 

成员变量与局部变量,解析变量作用域

1. 成员变量:在整个类内都有效

2. 局部变量:只在其声明的方法内有效

3. 成员变量:它属于对象的属性,它随着对象的创建而创建,随着对象的消失而消失

4. 局部变量:使用完马上释放空间

5. 成员变量属于对象,它存储在堆内存内,堆内的实体,当没有引用指向其时,才垃圾回收清理

6. 局部变量存在栈内存中,当不在使用时,马上就会被释放

7. 成员变量:存储在堆中,如果没有赋初值,它有默认值

8. 局部变量:如果要想使用必须手动初始化

画个图吧 ̄へ ̄  解释下成员变量与局部变量的生命周期:

 

匿名对象

没有名字的实体,也就是该实体没有对应的变量名引用

1. 当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。

2. 为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

3. 如果对象要多成员进行多次调用,必须给对象起个名字。不能再使用匿名对象。

4. 匿名对象可以当做实际参数进行传递。

5. 执行完毕后该对象立刻变成垃圾

 

面向对象的三大特性:封装、继承、多态

转载于:https://my.oschina.net/LinkedBear/blog/1614801

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值