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返回一个值 ;
如果一个类中没有明确的声明一个构造方法,则会自动生成一个无参的什么都不做的构造方法;构造方法的主要目的就是为类中的属性初始化。
构造方法本身与普通方法一样,都是支持重载操作的,只要参数的类型或个数不同,则就可以完成重载操作。
匿名对象
缺少栈内存的引用 ,只开辟了堆内存实例
封装-对外部不可见
继承-扩展类的功能
多态-方法的重载,对象的多态
类与对象
类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例;
必须先有类之后才能产生对象,类中规定了对象的操作行为;
内存划分
声明对象:栈内存中声明,开辟栈内存;
实例化对象:在堆中开辟空间,所有的内容都是默认值;
内存操作:为对象赋值
对象保存在栈内存之中,属性保存在堆内存之中,方法保存在全局代码之中,全局代码中的内容是所有对象共享的。
对象中的引用传递,实际上传递的就是堆内存空间的使用权。
没有任何栈内存引用的堆内存空间,等待垃圾收集机制进行回收。
封装
封装就是保护内容,保证某些属性或方法不被外部看见。
属性封装:private 数据类型 属性名称。
方法封装:private 方法返回值 方法名称(参数列表){}。
被封装的属性通过setter及getter方法完成访问操作。
Setter: public void setName(String n);
Getter: public String getName();
封装性在JAVA中有很多种形式,private只是最基本的和最常见的形式;
类中的每个属性都需要封装。
构造方法
对象实例化时,调用构造方法;
构造方法的名称必须与类名一致;
构造方法的声明处不能有任何返回值的声明;
不能在构造方法中使用return返回一个值 ;
如果一个类中没有明确的声明一个构造方法,则会自动生成一个无参的什么都不做的构造方法;构造方法的主要目的就是为类中的属性初始化。
构造方法本身与普通方法一样,都是支持重载操作的,只要参数的类型或个数不同,则就可以完成重载操作。
匿名对象
缺少栈内存的引用 ,只开辟了堆内存实例
相关文章推荐
- JAVA递归学习笔记
- JAVA正则表达式的捕获组、back引用、"$n"
- 关于eclipse的反编译插件JadClipse
- Spring【基础部分】
- java字符串内存分析
- Java’s Architecture - 《Pro_Java_8_Programming_(3rd_edition)》
- Java游戏服务器成长之路——你好,Mongo
- java List的简单运用
- java LinkedList简单运用
- java Map的简单运用
- JAVA源码学习-LinkedList
- Java Integer值的比较需注意
- java常用夹包
- 学习代码,java包应用
- java中的Static class
- Java随机生成验证码
- 为新手准备的30个JAVA程序问题和好的练习
- 关于Java多态
- Java动态代理
- Myeclipse报错:Could not open the editor: Invalid thr