086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

本文知识点:面向对象基础(类和对象)总结

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

面向对象基础(类和对象)总结

程序开发中,先定义类,再通过类来实例化对象,完成具体的程序逻辑。

定义类的时候,分别通过属性方法来描述对象能够拥有的各种特征(即:对象有啥)以及能够执行的一系列操作(即:对象能干啥)

属性称之为成员属性方法称之为成员方法

定义类和属性的基本语法

通过实例化的方式创建对象以及对象调用属性和方法

成员属性的初始值

在类的定义中,与在方法中定义局部变量不同的是:

1、在方法中定义局部变量,变量不赋值就不能使用,即:局部变量没有默认的初始值

2、Java中的成员属性默认有初始值



run方法中的局部变量myName不赋值就不能使用,没有初始值不能打印输出

但是name这个成员属性虽然没有赋初值,但是依然可以使用

成员属性的初始值——不同类型的初始值表

对象实例化

构造方法

构造方法可以有多个,可以有参可以无参。但是只能配合new关键字在对象实例化的时候调用。





建议添加构造方法时,显式添加一个无参构造方法。避免在对象实例化过程中,产生小的错误

this关键字

this关键字的主要使用场景:

1、当我们使用带参构造来进行对象初始化的时候(即通过带参构造为属性赋值),为了避免产生赋值错误的情况,我们就可以使用this关键字
。 即:调用成员属性,解决成员属性和带参构造方法的参数(局部变量)的同名冲突。



2、调用成员方法



3、调用重载的构造方法。方式:在方法体第一行使用this()



086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结的更多相关文章

  1. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  2. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  4. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包

    090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  7. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包

    089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  9. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

随机推荐

  1. vs2015创建项目没法选择.net2.0的问题

    今天要修护一个net2.0开发的程序bug,只修改了一行代码,发布到测试系统,结果程序奔溃了,吓出一身汗. 因为是直接崩溃,所以第一个想到的就是.net版本错了.一查看,果实是,项目属性里目标框架是4 ...

  2. Unity碰撞消息(OnCollisionXXXX)和触发消息(OnTriggerXXXX)的调用情境

    MonoBehaviour中的消息非常多,一共有62个! 除了必须关注的脚本生命周期的一系列函数外,还有其他两组比较常混淆的消息:碰撞和触发. 按3D和2D物体区分,又分为碰撞:Collision.C ...

  3. RedisTemplate: Failed to deserialize payload

    问题 org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exce ...

  4. linux安装dubbo与zookeeper(一)

    所需工具: jdk1_7.tar.gz dubbo-admin-2.5.4.war(此文件不需解压) zookeeper.tar.gz tomcat7.0.tar.gz 以上文件下载需根据自己的电脑系 ...

  5. vue mixin混入

    基本结构 export default { data() { return {} }, computed: { }, methods: { }, filters: { }, created() { } ...

  6. 洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP

    洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他. 玩具上有一个数列,数列中某些项的值可能会 ...

  7. 解决Maven下载速度缓慢问题

    解决Maven下载速度缓慢问题 第一步:找到自己安装maven的路径,选择setting.xml D:\apache-maven-3.2.2\conf\settings.xml 第二步:打开setti ...

  8. Java Web项目实现写日志功能

    第一步:导入log4j-1.2.16的jar包 第二步:在servlet包里编写写日志的servlet,代码如下: public class InitServlet extends HttpServl ...

  9. WinDbg排查CPU高的问题

    一.概述 在Window服务器部署程序后,可能因为代码的不合理或者其他各种各样的问题,会导致CPU暴增,甚至达到100%等情况,严重危及到服务器的稳定以及系统稳定,但是一般来说对于已发布的程序,没法即 ...

  10. python中的锁lock=threading.Lock()

    避免多个线程保卫同一块数据的时候,产生错误,所以加锁来防止这种问题 个人理解:当打印结果是交替打印时,但是如果需求是需要打印完一个线程的内容后,再去打印另一个线程的内容,就需要用到锁 不加锁打印结果: ...