面向对象(java)

本文深入解析面向对象编程(OOP)的核心概念,包括封装、继承和多态,并探讨其在软件开发中的高效性和易读性。通过实例讲解类和对象,以及如何利用OOP设计Car类和对象,展示了面向对象如何简化问题和提升交流效率。
摘要由CSDN通过智能技术生成

面向对象(Oriented Object)

是相对于面向过程而言的,过程其实就是函数,对象是将函数和属性进行了封装。

  1. 将复杂的问题简单化。
  2. 面向对象将以前的过程的执行者,变成了指挥者。
  3. 面向对象思想是符合人们思考习惯的一种思想。 

面向对象的三大特征

  1. 封装(Encapsulation)
  2. 继承(Inheritance)
  3. 多态(Polymorphism) 

编程思想

面向过程:做某件事情都需要自己情亲历亲为,按照步骤去完成。

面向对象:做某件事情都不需要自己情亲,只需要指定特定的对象去完成即可。

  1. 现实世界就是有对象组成的(可不是指男朋友或者是女朋友哦!)

如下图,万物皆是对象

面向对象设计和开发程序的好处

  1. 交流更加流畅
  2. 提高设计和开发效率
  3. 面向对象的思想符合人类思维习惯

 类和对象的概念

  1. 类是对某一事物的描述,是抽象的,概念上的定义(通俗的来说就是具有某些特征的集合物)
  2. 对象是实际存在的事物的个体,是具体的、现实的。(类到具体某一实物的反应)

成员变量和局部变量区别

成员变量:定义在中,有初始值

局部变量:定义在方法中,无初始值

方法的重载(OrverLoad):

  1. 在同一个类中,同一个方法名
  2. 参数列表不同(个数不同,顺序不同,类别不同)
  3. 方法的重载与返回值无关

类 :

package OOP;
public class Car {
    String name;
    String color;
    int price;
//定义成员变量name,color,price,系统给赋予初始值
    public Car(String name,String color,int price){
        this.name=name;
        this.color=color;
        this.price=price;
        System.out.println("火拳");
    }
    public Car(String name,String color){
        this.name=name;
        this.color=color;
        System.out.println("路飞");}
//重载,根据对象定义的个数,顺序,类型进行方法的选择

    public void run(int a){
        a=10;//定义一个局部变量,手动赋值
        System.out.println(name+"飞快的行驶");
    }
    public void stop(){
        System.out.println(name+"停止");
    }

}

对象:

package OOP;

public class Car1 {
public.static.void.main(String[] args) {
        //(方法一)在堆中创建一个新的空间并命名并定义(重载)
        Car bm=new Car("大众","黑色",120000);
        Car bm=new Car("奥迪","白色");
        //(方法一)在堆中创建一个新的空间并命名并定义
        //(方法二)先在堆中创建一个新的空间,然后定义
        Car bm1=new Car();
        bm.color="黄色";
        bm.name="宝马x6";
        bm.price=150000;
        //复制、粘贴方法区的地址
        bm.run();
        bm.stop();
        //输出所需要输出的内容
        System.out.println(bm.name);
        System.out.println(bm.color);
        System.out.println(bm.price);
    }
}

  • JAM的内存划分

 

区域名称                                        作用
寄存器给CPU使用,和开发无关。
本地方法栈JVM在使用操作系统功能的时候使用,和开发无关。
方法区存储可以运行的class文件。
堆内存存储对象,new来创建的,都存储在堆内存。
方法栈方法运行时使用的内存,比如main方法运行,进入方法栈中执行。

 

 

 

如果是俩个变量指向同一个空间,结果会发生改变 。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃橘子的Crow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值