JAVA中对面向对象的理解

本文深入探讨JAVA中的面向对象编程,解释对象的内存存在形式,属性和成员变量,创建对象的过程,类与对象的内存分配机制,以及成员方法的定义和调用原理。通过实例说明面向对象的特性,强调其在问题解决中的独立性和延展性。
摘要由CSDN通过智能技术生成

面向对象(object oriented programming)

对象(object):对问题中的事物进行抽象化,对现实事物的抽象映射。

面向对象:把现实中的事物抽象为对象,每个对象都是唯一的,且都拥有自己的属性和方法,通过调用对象的属性和方法来解决问题。

简单的例子:

      eg1:  用面向对象的思想解决将大象塞进冰箱

        冰箱是一个对象;

        大象是一个对象;

        冰箱的功能:开门,关门,装东西;

public class elephant{               // 创建一个对象为大象
    public void eat(){}              // 大象有方法为吃东西    
}

public class bridge{                 // 创建一个对象为冰箱
    public void open(){}             // 创建一个开门的方法
    public void close(){}            // 创建一个关门的方法
    public void putIn(){}            // 创建一个放东西进去的方法
}

        eg2:使用面向对象的方式来解决养猫问题

//实例化一只猫
Cat cat1 = new Cat; //     创建一只猫
cat1.name = "小白";
cat1.age = 10;
cat1.color = "白色";

Cat cat2 = new Cat //    创建第二只猫
cat2.name = "小红";
cat2.age = 5;
cat2.color = "黑色";

//访问对象属性
System.out.println(“第一只猫的信息:”+cat1.name+cat1.age+cat1.color);
System.out.println(“第二只猫的信息:”+cat2.name+cat2.age+cat2.color);

        由此可见,面向对象的核心就是每个对象间都互相保持独立,在建立对象模型的阶段只需要专注每个类的方法和属性,不需要考虑如何实现功能。面向对象的好处在具有很强的延展性,面向对象就是把现实问题抽象为对象,通过调用每个对象的属性或功能去解决问题。对象就是一个具体的实例。

对象在内存中的存在形式

 以eg2中的cat1为例:

 根据数据类型属性来存放数据

名字在栈中指向一个地址(0x0011为例)

String类型属于引用类型,在堆中只储存地址(0x0022为例),指向方法区常量池中的空间。

int类型直接存放在堆中(12直接存放在堆中)。

在执行 创建对象(new) 的过程中,会把类的信息加载到方法区(1.加载属性信息 2.加载方法信息)

属性与成员变量的概念

1.从概念或叫法来看,成员变量 = 属性 = field字段 (即成员变量是用来表示属性的)。 

        eg:Car(name,pirce,color)

2.属性是类的一个组成部分,一般是基本数据类型,也可以是引用类型(可以是数组等数据类型)

        eg:String [] master

注意事项和细节说明

public class PropertiesDetails{
    public static void main(String [] args){
        // p1 是对象的名字 例:小明是一个姓名,实体是小明
         Person p1  = new Person();
        // 对象的属性默认值遵循数
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值