------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
学习内容: 面向对象概述;封装;构造函数于构造代码块;this关键字;其他的一些知识点
 
一、面向对象的概述
 
1,面向过程与面向对象
面向过程强调的是功能的行为,面向对象是在面向过程的基础上,强调的是一个对象具有的功能,面向对象是建立在面向过程的基础之上的。
 
2,类与对象的区别
类是对现实中事物的描述,描述事物具有的属性,具备的什么样的功能。例如:对人的描述,人具备姓名,年龄,头发的颜色,性别,爱好等共同属性,以及具备吃饭,睡觉等共同功能
 
对象是现实生活中实实在在存在的个体。例如:一个叫张三的人,有年龄姓名性别,能吃饭睡觉,另外还有一个叫李四的人,也有自己的姓名年龄性别等。
 
二、封装(encapsulation)
1,封装概念
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。也就是说,我给你提供你使用的方式,你不必管他是怎么实现的,你只管用就行了 。
2,封装原则
A,将不需要对外提供的内容都隐藏起来
B,把属性都隐藏,提供公共方法对其访问
3,private关键字
private中文意思是私有,她是一个权限修饰符,用于修饰类中的成员(成员变量和成员函数),被私有修饰的成员,只在本类中有效。
要特别注意的是:封装不是私有,私有仅仅是封装的一种常见的表现形式 。封装不等于私有。函数,类,包也是封装的表现形式。
三、构造函数与构造代码块
 
1、构造函数的特点
A,构造函数和类名一样
B,构造函数没有返回值类型
C,构造函数中没有return语句
 
2,构造函数的作用
构造函数是用于给对应的构造函数进行初始化的,当通过new操作符创建对象时,根据传入构造函数中的参数不同,调用与之对应的构造函数进行初始化
 
3,构造函数与一般函数的区别
A,构造函数用于给相对应的对象进行初始化。一般函数用于实现对象的某个特定功能。
B,构造函数在对象建立时执行并且只执行一次。一般函数可以被对象多次调用
C,他们的写法上也有很大的不同
 
4、构造函数的注意事项
  当一个类中没有手动定义个一个构造函数时,为了创建该类的对象,系统会默认的给该类添加一个空参数的默认构造函数;当一个类中自定义了构造函数时,系统就不会给改类添加默认的空参数的构造函数了,若在建立对象的过程中,还需要空参数的构造函数,那么就需要自定义这个空参数的构造函数了;一个类中可以存在多个构造函数,建立对象,改调用哪个构造函数,是通过构造函数的重载实现的。
5,构造代码块
    1)格式:{ 构造代码块的初始化内容 }
    2)作用:给所有对象进行初始化,构造代码代码块中存放的是该类对象的共性初始化内容。当对象一建立就运行,而且优先于构造函数运行。
     
四、this关键字
 
1,this关键字的作用?
    this关键字用于区分局部变量和成员变量,还用于类中构造函数之间的相互调用。类中构造函数相互调用时,this语句必须放在第一行。
 
2,this关键字的含义
    this代表所在类的对象,具体哪一个呢?就是代表他所在函数所属对象的引用。简单的说:哪个对象调用this所在的函数,this就代表哪个对象。
 
3,this关键字的应用
    当定义类中功能时,该函数内部要用到调用该函数的对象时,这时候用this来表示这个对象。但凡本类中使用到本类对象就使用this
 
五、其他的一些知识点
 
1,成员变量和局部变量的不同
成员变量定义在类中,作用范围是整个类,她存放于堆内存中。
局部变量定义在函数中或者语句中,作用范围就是所在的函数或所在的语句,她存放于栈内存中
2,匿名对象的使用
当对象只需要使用一次的时候,可以定义一个匿名对象
匿名对象还可以作为函数的实际参数传递过去。

转载于:https://www.cnblogs.com/Rebecca-gg/p/4462636.html

黑马程序员_Java学习日记num4相关推荐

  1. 黑马程序员_Java学习日记 num1

    ------- <a href="http://www.itheima.com" target="blank">android培训</a> ...

  2. 黑马程序员_Java学习日记第八天--TCP/UDP通信、正则表达式

    ------- android培训. java培训.期待与您交流! ---------- UDP/TCP 如何实现通信: 1,找到对方IP 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序, ...

  3. 黑马程序员--Java学习日记之集合(collection类与list接口)及泛型概述

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,集合概念   之前我们存储大量的对象,可以使用数组:   但数组有两个缺陷:   1. ...

  4. 黑马程序员_学习日记2_飞行棋

    ---------------------- Windows Phone 7手机开发. .Net培训.期待与您交流! ---------------------- 4月13日 今天看了一天的视频,把骑 ...

  5. 黑马程序员java学习日记——集合框架

    ------- android培训.java培训.期待与您交流! ---------- Java.util包中提供了一些集合类,这些集合类又被称为容器.集合类与数组的不同之处是,数组长度是固定的,集合 ...

  6. 黑马程序员--Java学习日记之网络编程

     ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.网络编程概述 1.计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及 ...

  7. 黑马程序员--Java学习日记之集合(map集合和collections类)

    -- Java培训.Android培训.iOS培训..Net培训.期待与您交流! ---  一.概述 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 在使用Collec ...

  8. 黑马程序员_java自学学习笔记(八)----网络编程

    黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...

  9. 黑马程序员_java高级篇网络编程TCP实战Day8(上)

    ---------------------ASP.Net+Android+IOS开发.Net培训.期待与您交流! ----------- 黑马程序员_java高级篇网络编程TCP实战Day8(上) ( ...

最新文章

  1. Java数据结构与算法——插入排序
  2. java规则计算_java实现的霍纳规则的多项式计算
  3. Js 获取当前页面的高度
  4. 假如明天灾难来临_北京医保容灾
  5. 关于MySQL 通用查询日志和慢查询日志分析
  6. 动态服务器值 回放报错 没有关联到_LR关联(带附件) - 缺1份淡定ㄣ - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  7. 电容或电感的电压_为什么并联电容器可以提高功率因数,而串联不行?
  8. 2017年6月14日中午 java.io.IOException: Premature EOF
  9. Springboot版本的WebSocket向app端推送消息实现
  10. w764位计算机右键管理,为win764位旗舰版右键添加“管理员取得所有权”方法
  11. Oracle:ORA-12505解决办法
  12. EVA新世纪福音战士剧场版:终 阿里云盘、百度网盘资源
  13. 神舟战神z7装linux,【神舟超级战神K670E试用】K670E安装系统
  14. STM32F407ZGT6控制ESP8266与OV2640下的百度智能图片识别
  15. 2021年高处安装、维护、拆除考试资料及高处安装、维护、拆除理论考试
  16. 单源最短路径(spfa,Dijkstra, bellman-ford)
  17. rnss和rdss的应用_【科普】涨知识,带你认识北斗RDSS的定位方式
  18. 如何获取苹果设备UDID?
  19. 出现请按 ENTER 或其它命令继续解决方法
  20. linux_FHS目录结构标准

热门文章

  1. 利用深度迁移学习进行基于图像的植物病害识别
  2. java回调和监听的区别_java监听机制的原理-回调机制
  3. python 中空NULL的表示
  4. 车辆贷款违约预测 Top1(2021科大讯飞)
  5. linux获取文件名最后一位,获取出文件最后一位是1 或者0 若果都是1 代表是正确的 如果有0代表错误...
  6. android 中如何监听耳机键消息
  7. 中台之上(十三):探讨支持组装式开发的业务架构设计方法
  8. python【第三篇】迭代器、生成器、闭包
  9. Android 属性动画Property Animation(中)
  10. windows下pyhton_vitrualenv虚拟环境pycharm如何创建django项目