| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 零基础学java-类和对象 -> 正文阅读 |
|
[Java知识库]零基础学java-类和对象 |
?封装? ? ?什么叫封装?通俗的来说就是将一个物体封装起来不让别人使用,在我们java里面的封装,有哪些呢?一般我都在java当中用private来实现封装。private实现封装?private/ public 这两个关键字表示 "访问权限控制"被 public 修饰的成员变量或者成员方法, 可以直接被类的调用者使用 被 private 修饰的成员变量或者成员方法, 不能被类的调用者使用 直接使用public 执行结果 我们来看看这这样的代码,如果我们想(name改成myName)我们需要大规模的修改自己的代码,维护成本高花费的精力也大,为了减少这种大规模修改自己的代码,我们该怎么办呢? 使用 private ? 当我们不想让setName里面的值为“bit”时,我们只需要在setName里面修改就行了,不用去挨着每个修改。? ?注意 1.使用private封装,属性就被封装起来了!只能在类(当前类)中使用!此时提供公开的get和set方法! 2.封装的好处是让属性更安全。 getter和setter方法当我们使用private封装时,属性被封装起来,只能在类中使用。此时提供公开的get和set方法! ? ?如何快速使用getter和setter的方法! ?构造方法构造方法:1.方法名和类名是相同的,且构造方法比较特殊,没有返回值。 构造方法是干嘛的?--》一个对象的产生(对象的实例化) 1.为对象分配内存? 2.调用合适的构造方法。(合适:意味着构造方法不止一个!) ? ? *注意 * 1.如果没有实现任何的构造方法,编译器会帮我们默认生成一个不带参数的构造方法 * 也就是说一个类,至少会有一个构造方法,就算你没有写! *2.如果当前类有其他的构造方法,那么编译器就不会帮我们生成不带参数的构造方法! *3.构造方法之间可以构成重载! this关键字? ??this表示当前对象引用(注意不是当前对象). 可以借助 this 来访问对象的字段和方法?? * this3种用法 * 1.this.data调用当前对象的属性? 2.this.func()调用当前对象的方法? 3.this()调用当前对象的其他构造方法 * 注意只能存放在构造函数当中!!!! ? ? 认识代码块根据代码块定义的位置以及关键字,又可分为以下四种: 普通代码块 构造块 静态块 同步代码块 举个例子;实例代码就是使用{}定义的代码,而静态代码是在使用关键字static{} ? ?如何被调用呢? 在主函数main中new一个对象 ? ?打印结果 我们发现,打印出来的顺序是静态代码在前,实例代码在后,最后才是我们的构造方法 这说明代码块执行是有顺序的,静态代码-》实例代码-》-》构造方法。 补充说明? ? ??toString方法? ? ? 它可以把我们的对象转换为字符 ? ? ? ? ? 我们来看打印结果,加上toString方法后我们打印的结果 自动给我们转化称为了字符。 如何快速使用toString方法? 这和我们在private封装采用set和get方法一样。 ? ? 匿名对象什么是匿名对象? 没有名字的对象,且只能使用一次! ? ? 内容重点总结1.一个类可以产生无数的对象,类就是模板,对象就是具体的实例。 2.类中定义的属性,大概分为几类:类属性,对象属性。其中被static所修饰的数据属性称为类属性, static修饰的 方法称为类方法,特点是不依赖于对象,我们只需要通过类名就可以调用其属性或者方法。 3.静态代码块优先实例代码块执行,实例代码块优先构造函数执行。 4.this关键字代表的是当前对象的引用。并不是当前对象。 小生不才,只能出这么粗糙的文章了,若有建议,洗耳恭听啊!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:48:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |