您的位置:首页 > 编程语言 > Java开发

JAVA学习笔记01 -- 面向对象基础

2016-01-20 02:06 756 查看
面向对象的三大特征

封装-对外部不可见
继承-扩展类的功能
多态-方法的重载,对象的多态

类与对象

类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例;

必须先有类之后才能产生对象,类中规定了对象的操作行为;

内存划分

声明对象:栈内存中声明,开辟栈内存;
实例化对象:在堆中开辟空间,所有的内容都是默认值;

内存操作:为对象赋值

对象保存在栈内存之中,属性保存在堆内存之中,方法保存在全局代码之中,全局代码中的内容是所有对象共享的。

对象中的引用传递,实际上传递的就是堆内存空间的使用权。

没有任何栈内存引用的堆内存空间,等待垃圾收集机制进行回收。

封装

封装就是保护内容,保证某些属性或方法不被外部看见。

属性封装:private 数据类型 属性名称。

方法封装:private 方法返回值 方法名称(参数列表){}。

被封装的属性通过setter及getter方法完成访问操作。

Setter: public void setName(String n);

Getter: public String getName();

封装性在JAVA中有很多种形式,private只是最基本的和最常见的形式;

类中的每个属性都需要封装。

构造方法

对象实例化时,调用构造方法;

构造方法的名称必须与类名一致;

构造方法的声明处不能有任何返回值的声明;

不能在构造方法中使用return返回一个值 ;

如果一个类中没有明确的声明一个构造方法,则会自动生成一个无参的什么都不做的构造方法;构造方法的主要目的就是为类中的属性初始化。

构造方法本身与普通方法一样,都是支持重载操作的,只要参数的类型或个数不同,则就可以完成重载操作。

匿名对象

缺少栈内存的引用 ,只开辟了堆内存实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: