类与对象

本文介绍了面向对象的三大特性——封装、继承和多态,并详细讲解了类与对象的概念。通过实例展示了如何声明和实例化对象,以及如何调用类的属性和方法。此外,还探讨了对象在内存中的存储方式,包括堆内存和栈内存的使用,以及对象引用和垃圾产生的分析。最后,提到了引用传递可能导致的垃圾问题及其对程序性能的影响。
摘要由CSDN通过智能技术生成

类与对象

1.面向对象简介

封装性:内部的操作对外部不可见;内部操作不可直接使用时是安全的

继承性:在已有结构的基础上继续进行功能的扩充;

多态性:继承的基础上,类型的转换处理;

2.类与对象简介

类:某一类事物的共性的抽象概念;

对象:一个具体的产物;

3.类与对象的定义及使用

声明对象:类名称 对象名称=null;

实例化对象:对象名称 = new 类名称();

调用类中的属性:实例化对象.成员属性;

调用类中的方法:实例化对象.方法名称();

4.对象内存分析

类属于引用数据类型,要进行内存管理;

堆内存:保存对象的具体信息,在程序中堆内存的开辟是通过new完成的

栈内存:保存一块堆内存的地址(简化为对象名称),通过地址找到堆内存,而后找到对象内容。

所有的对象在调用类中的属性和方法时,必须要进行实例化,否则会出现NullPointerException(空指向异常),只有引用数据类型会存在这个问题,基本数据类型就是一个数值,不会存在这个问题。

5.对象引用分析

类为引用数据类型,一定会存在内存的引用传递:同一块引用内存(堆内存)空间,可以被不同的栈内存指向,也可以更换指向。

Person per2 = per1; //引用传递,per1和per2属于不同的栈内存,指向同一块堆内存

除了发生在以上主方法中,还可以发生在其他方法中:

change(per); //主方法中
public static void change(Person temp){temp.age="80";}

方法执行完毕后,temp断开连接。

6.引用与垃圾产生分析

引用传递处理不当会产生垃圾。垃圾即没有任何栈内存指向的堆内存空间,垃圾过多会影响GC的处理性能,在实际开发中,垃圾越少越好。

Person per1 = new Person();
Person per2 = new Person();
per2 = per1; //per2原本指向的堆内存成为了垃圾

一个栈内存只能保存一个堆内存地址,若发生更改,则原本的地址数据将从栈内存中彻底消失。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值