黑马程序员技术交流社区
标题:
这算笔记吗>>java>>面向对象>>上
[打印本页]
作者:
Novice.Jin
时间:
2015-1-14 19:24
标题:
这算笔记吗>>java>>面向对象>>上
面向对象
面向对象是相对面向过程而言
面向对象和面向过程是一种思想
面向过程强调的是功能行为
面向对象将功能封装进对象,强调具备了功能的对象
面向对象是基于面向过程的
面向对象的概念(重要)
名词提炼法
面向对象的三个特征: 封装,继承,多态
以后的开发,其实就是在找对象用,没有对象就创建对象
找对象,建立对象,维护对象
类和对象的关系:
类就是,对现实生活事物的描述
对象就是这类事物实实在在存在个体
成员变量在堆内存中
局部变量在栈内存中
类中可以创建该类的对象
成员变量和局部变量
成员变量作用于整个类中
局部变量作用于函数中或语句中
在内存中
成员变量在堆内存中,因为对象的存在,才在内存中存在
局部变量在栈内存中
匿名对象使用方式:
当对对象的方法只调用一次时,可以使用匿名对象来完成,以简化
如果一个对象进行多个成员调用,必须给这个对象起个名字
可以将匿名对象作为实际参数进行传递
封装 (Encapsulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式.
好处:
将变化隔离
便于使用
提高重用性
提高安全性
封装原则:
将不需要对位提供的内容隐藏起来.
把属性都隐藏,提供公共方法对其访问
权限修饰符:
public 公共
private 私有
static 静态
构造函数:
特点:
函数名与类名相同
不用定义返回值类型
不可以写return语句
作用:
给对象进行初始化
注意:
默认构造函数的特点
多个构造函数是以重载的形式存在的
可以私有化
构造代码块~~~~~~~~~给对象进行初始化,对象一建立就运行,而且优先于构造函数执行
和构造函数的区别:构造代码块是给所有对象进行统一初始化
而构造函数是给对应的对象进行初始化
this:代表本类的实例对象>>>>代表所在函数所属对象的引用
但凡本类功能使用到了本类对象,都用this表示
this语句用于构造函数间的进行互相调用
static 静态
是一个修饰符,用于修饰成员(成员变量,成员函数)
当成员被就静态修饰后,就多了一个调用方式,出了可以被对象调用外
还可以直接被类名调用
特点:
随着类的加载而加载
优先于对象存在
被所以对象所共享
可以直接被类名调用
注意:
静态方法只能访问静态成员
非静态方法可以访问静态
静态方法中不可以定义thin,super关键字
利:对对象的共享数据进行调度空间的存储,节省空间,没有必要没个对象都存储一份
可以直接被类名调用
弊:生命周期过长,访问出现局限性
主函数是静态的:是一个特殊的函数,作为程序的人口,可以被jvm调用
主函数的定义:
public:代表着该函数访问权限是最大的,
static:代表主函数随着类的加载就已经存在了
void:主函数没有具体返回值
main:不是关键子,但是是一个特殊的单词,可以被jvm识别
(String[] arr):函数的参数,参数的类似是一个数组,
该数组中的元素是字符串,字符串类型的数组
主函数是固定格式的:jvm识别
jvm在调用主函数时,传入的是new String[0];
什么时候使用静态
从两方面下手
因为静态修饰符的内容有成员变量和函数
什么时候定义静态变量呢
当对象中出现共享数据时,该数据被静态所修饰
对象中的特有数据要定义成非静态存在于堆内存中
什么时候定义静态函数
当功能内部没有访问到非静态数据
那么该功能可以定义成静态的
类的文档
需要提升类的权限 public
javadoc -d 目录 -author -version 类的名称.java
作者 版本
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2