黑马程序员-java基础学习03-面向对象基础
来源:互联网 发布:拼音读法软件 编辑:程序博客网 时间:2024/05/27 19:26
------- android培训、java培训、期待与您交流! ----------
1、面向对象是相对面向过程而言的。
面向过程强调的是功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
2、面向对象的特征:封装,继续,多态。
封装原则:a、将不需要对外提供的内容都隐藏起来。b、把属性都隐藏,提供公共方法对其访问。
3、构造函数的特点:a、函数名与类名相同。b、不用定义返回值类型。c、不可以写return语句。
其作用是给对象进行初始化。
构造函数的小细节:
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
当在类中自定义了构造函数后,默认的构造函数就没有了。
4、this关键字
this关键字代表其所在函数所属对象的引用,当在函数内需要用到调用该函数的对象时,就用this。
this语句只能定义在构造函数的第一行。因为初始化要先执行。
class Person
{
Person(int age)
{
this.age = age;
}
}
5、static关键字:
用于修饰成员(成员函数和成员变量)
被修饰 后的成员具备的特点:a、随着类的加载而加载。b、优先于对象存在。c、被所以对象所共享。d、可以直接被类名调用。
注意:静态方法只能访问静态成员、静态方法中不可以写this,super关键字、主函数是静态的。
什么时候使用静态变量?
当对象中出现共享数据时,该数据被静态所修饰。
对象中的特有数据要定义成非静态存在于堆内存中。
什么时候定义静态函数?
当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。
6、匿名对象
new Car().run();
匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。
如果对一个对象进行多个成员调用,必须给这个对象起个名字。
匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。
7、继承
继承的出现提高了代码的复用性。
继承的出现让类与类之间产生了关系。
继承的特点:java只支持单继承,不支持多继承(一个类只能有一个父类,不可以有多个父类)。
class SubDemo extends Demo{}
8、函数覆盖(override)
子类中出现于父类一模一样的方法时,出现覆盖,也称重写或复写。
父类中的私有方法不可以被覆盖。
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取。
覆盖时,子类方法权限要大于父类的权限。
静态只能覆盖静态。
注意:重载:只看同名函数的参数列表。
重写:子父类方法要一模一样。
- 黑马程序员-java基础学习03-面向对象基础
- 黑马程序员--Java基础--面向对象基础
- 黑马程序员-----java基础(面向对象基础)
- 黑马程序员-java学习基础04-面向对象之继续
- 黑马程序员---Java基础学习笔记(面向对象篇)
- 黑马程序员-学习笔记java基础-面向对象
- 黑马程序员——java基础学习(面向对象)
- 黑马程序员—Java基础学习笔记之面向对象
- 【黑马程序员】Java基础学习博客——面向对象
- 黑马程序员------Java基础学习------面向对象(上)
- 黑马程序员------Java基础学习------面向对象(下)
- 【黑马程序员】Java学习笔记之面向对象基础篇
- 黑马程序员--Java基础学习(面向对象)第五天
- 黑马程序员--Java基础学习(面向对象)第六天
- 黑马程序员--Java基础学习(面向对象)第七天
- 黑马程序员--Java基础学习(面向对象)第八天
- 黑马程序员--Java基础学习(面向对象)第九天
- 黑马程序员--Java基础学习(面向对象)第十天
- 第十三周项目项目5 银行系统任务1
- 一个上海程序员的一天工作日志
- 黑马程序员_JAVA_银行业务学习笔记
- 聚集索引和非聚集索引
- 无法打开预编译头文件的解决方法及预编译头原理
- 黑马程序员-java基础学习03-面向对象基础
- ajax处理表单函数(序列化函数)
- 通向架构师的道路(第二天)之apache tomcat https应用
- Ubuntu实践(4):安装wxPython
- github使用
- 汉诺塔问题。
- 软件缺陷的由来 - 思考中。。。
- 哥德巴赫猜想。
- 使用cuda+opengl图形互操作性实现MPR