黑马程序员——Java基础---java面向对象基础
来源:互联网 发布:淘宝网棉麻绣花女装 编辑:程序博客网 时间:2024/05/16 11:14
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
面向对象:
面向对象是一种思想,从执行过程转变成指挥(调用)的过程。将功能封装进对象,强调具备了功能的对象,面向对象是基于面向过程的。为什么说是基于对象呢?比如猫抓老鼠,强调的是猫,并不是抓,而抓老鼠是封装在猫这个对象里面了;而抓老鼠,强调的是过程(动作过程),并不知道是谁在抓老鼠,这个动作属于谁?都不知道,想调用它。只能找这个动作过程,这就体现出来了封装性的好处。只要把一些功能封装在了某个对象中,不但自己可以随时调用它里面的任何功能,别人也可以调用。所以说面向对象在现实生活中随处可见,我们平时用的电脑,喝水的杯子,桌子,交通工具等等都是一个一个对象,只要他有存在的意义就一定有某种功能,所以我们每天都在面向各种对象,而自己其实也是一个对象!
比如:打开冰箱,存储进冰箱,关闭冰箱,都是强调动作的过程。
而冰箱打开,冰箱存储,冰箱关闭,都是强调冰箱,而此时冰箱就是一个对象,
在冰箱对象中有各种功能
面向对象三个特征: 封装,继承,多态。
以后开发:其实就是找对象使用,没有对象,就创建一个对象。
找对象,建立对象,使用对象;维护对象的关系。
类和对象的关系
类:就是对现实生活中事物的描述。
对象:就是这类事物,实实在在存在的个体。
成员变量和局部变量
作用范围:成员变量作用于整个类中 局部变量作用于函数和语句中。
内存中的位置:成员变量在堆内存中,因为对象的存在才在内存中存在
局部变量存在于栈内存中
匿名对象
匿名对象使用方式1:当对对象的方法只调用一次时,用匿名对象来完成,这样比较简化,如果对一个对象进行多个成员调用,必须给这个对象起个名字来调用其他的。注:匿名对象调用成员属性的话没有实际意义。因为它执行完后在堆内存中就成为垃圾了,因为执行一次创建一个新的对象实体。2可以讲匿名对象作为实际参数进行传递。
封装:是指隐藏对象的属性和实现细节,进对外提供公共访问方式
好处:讲变化隔离,便于使用,提高重用性,提高安全性
封装的原则:讲不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共的方法对其访问
构造函数
1 对象一建立就会调用与之对应的构造函数,作用是可以用于给对象进行初始化
2 小细节:当一个类中没有定义构造函数时,系统会默认给该类假如一个空参数的构造函数,当在类中自定义了构造函数后,默认构造函数就没有了。
构造函数和一般函数的区别
构造函数 是在对象一建立就运行,给对象初始化,而且构造函数只运行一次
一般函数 是对象调用才执行,给对象添加对象具备的功能并且可以被该对象调用多次
如果给构造函数用private修饰 那么就不能创建构造函数相对应的队形,如果给所有的构造函数都用private修饰 那么该类就不能创建对象了
构造代码块
作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别:构造代码块是给所有对象进行统一初始化的。
而构造函数是给对应的对象初始化的。
构造代码块中定义的是不同对象共性的初始化内容
this关键字
作用:用于区分局部变量和成员变量同名的情况
this:就代表本类的对象,创建的哪一个对象this就代表那一个对象。
this的应用:当定义类中的函数时,该函数内部要用到调用该函数的对象时
这时用this来表示这个对象
this()语句:用于构造函数之间的互相调用。
- 黑马程序员 java基础<—>--->面向对象
- 黑马程序员——Java基础---java面向对象基础
- 黑马程序员——java基础--面向对象基础
- 黑马程序员--Java基础--面向对象基础
- 黑马程序员-----java基础(面向对象基础)
- 黑马程序员——java基础——面向对象
- 黑马程序员——java基础——面向对象
- 黑马程序员——java基础——面向对象
- 黑马程序员——Java基础——面向对象
- 黑马程序员——java基础—-面向对象
- 黑马程序员——java基础—面向对象
- 黑马程序员——Java基础---面向对象
- 黑马程序员——java基础学习(面向对象)
- 黑马程序员——java基础_面向对象
- 黑马程序员-Java基础总结04——面向对象
- 【黑马程序员】Java基础学习博客——面向对象
- 黑马程序员——java基础面向对象基础知识总结
- 黑马程序员——JAVA基础之面向对象
- 工厂方法模式(Factory Method)简介
- [kaggle竞赛实践2] Titanic幸存预测问题--ID3决策树解决方案
- Android几大框架层
- leetcode:Remove Duplicates from Sorted Array菜鸟解法
- 调用Openssl中的MD5库
- 黑马程序员——Java基础---java面向对象基础
- 关于pip
- 平台自动分红,1960名额有限,带量咨询。
- double类型存储
- 对C++中的外部变量和外部函数的认识
- HDU 2031 进制转换
- 从C开始_结构体_结构数组2(程序讨论)+清空输入行原理
- PDO的使用 - 未完待续
- C/C++语言文件操作之fgets