面向对象基础知识笔记(一)
来源:互联网 发布:sql union替代 join 编辑:程序博客网 时间:2024/06/06 18:27
面向对象的特点:
1.符合人的思考方式;
2.复杂问题简单化;
3.使曾经在过程中的执行者变成了对象中的指挥者。
面向对象程序设计的特点:封装,继承,多态。
成员变量和局部变量的区别:
1.成员变量定义在类里,整个类都可以访问;局部变量定义在函数、语句、局部代码块中,只有所属区域才有效。
2.成员变量存在于堆内存的对象中;局部变量存在于栈内存的方法中。
3.成员变量随着对象的创建而存在,随着对象的消失而消失;局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。
4.成员变量都有默认初始化值,局部变量没有默认初始化值。
匿名对象:
匿名对象就是定义对象的简写。
在何时使用匿名对象呢?
1.当对象对方法仅进行一次调用的时候,就可以简化为匿名对象: new Car().num=5;//给Car类型对象的num赋值5
new Car().run();//给Car类型的对象调用run()方法
以上代码的对象(匿名对象)运行完就释放,因为没有了引用。
2.匿名对象可以作为实际参数进行传递,这种情况下,匿名对象不会作为垃圾回收,因为会指向引用。(即在函数参数中使用匿名对象。)
封装
封装即:
1.把不需要提供的内容隐藏起来;
2.把属性隐藏起来,只对外提高公共方法(public),但不是所有的方法都得向外提供。
封装的优势:
1.将变化隔离
2.便于使用
3.提高代码的重用性
4.提高代码的安全性
private:
private(私有)是一个权限修饰符,用于修饰成员,私有的内容只在本类中有效。
注意:私有仅仅是封装的一种体现而已,封装还有其他形式。
Java语言中最小的封装体是函数,类本身也是一种封装体,框架也是。
封装的常用方式之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问。
构造函数:
特点:
1.函数名与类名相同;
2.不用定义返回值类型;
3.没有具体的返回值;
作用:给对象进行初始化。
一个类的多个构造函数是以重载的形式存在的。
构造函数在对象一创建时就执行。一个类中如果没有显式地定义构造函数,那么这个类会有一个默认的空函数构造函数。如果显式地定义了构造函数,那么就不会有这么一个默认的空函数构造函数。(这是由于如果此时还存在这一个默认的构造函数,显式定义的构造函数名与其相同,参数可能也相同,这样jvm就无法区别两个函数,它们之间产生了冲突。)
一般函数与构造函数的区别:
构造函数:对象创建时就会调用与之对应的构造函数,对对象进行初始化。构造函数只会调用一次。
一般函数:对象创建后,需要用函数是才调用。可以调用多次。
什么时候定义构造函数:在描述事物时,该事物就具备一些内容(性质),这些内容都定义在构造函数当中。
构造函数的重载:一个类中可以有多个构造函数,根据需要来对不同的对象进行不同的初始化。
重载:函数名相同,参数个数,参数类型不同。
- 面向对象基础知识笔记(一)
- java面向对象基础知识(一)
- JAVA面向对象的基础知识快速通过---自学笔记(一)
- 【JavaSE笔记】面向对象(一)_面向对象入门
- 学习笔记-基础知识4-面向对象(1)
- 学习笔记-基础知识5-面向对象(2)
- 《面向对象软件工程》笔记(一)
- C++面向对象编程笔记(一)
- java 面向对象笔记(一)
- Java面向对象笔记(一)
- java学习笔记-面向对象(一)
- Java_面向对象笔记总结(一)
- JavaScript 面向对象整理笔记(一)
- Python3面向对象编程笔记(一)
- JAVA面向对象学习笔记(一)
- 黑马程序员_面向对象基础知识一
- C++面向对象基础知识详解一
- Java基础知识学习之面向对象一
- C#网络编程之连接oracle数据库获取数据
- python的array()为什么会报错
- Gson纯Json解析
- tabbar的属性
- maven引入本地jar包——dependency
- 面向对象基础知识笔记(一)
- jquery点滴
- SQLSERVER GROUP BY查询最大一条,并关联当前行其它列
- Java中只有按值传递
- Qt之启动外部程序 && Qt遍历目录的所有文件,并过滤后缀名
- logback(日志框架)私人学习笔记
- maven项目中常见问题解决方案(一)
- [BZOJ]4260: Codechef REBXOR 可持久化Trie
- 欧几里德距离算法