| |
|
开发:
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语言(四)- 类和对象文章目录往期文章: 一、类与对象的概念1、类
2、对象面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。对于一些规模较小的问题,将其分解为过程的开发方式比较理想(面向过程)。面向对象更加适合解决规模比较大的问题。 要想使用面向对象程序设计,一定要清楚对象的三个特性:
3、面向过程与面向对象的区别面向过程:
面向对象:
二、类的成员1、字段
有时候,我们需要设置成员变量的初始值,也可以这样完成操作。(显式设定初始值)
2、方法就是我上一篇文章讲过的方法,是一样的。用于描述对象的行为。Java中方法的概念以及递归的讨论
3、static关键字
修饰属性: Java静态属性和类相关,和具体的实例无关。换句话说,同一个类的不同实例共用同一个静态属性。
运行结果: 是不是感到很疑惑? 我们来画一画这个内存图,就能理解其中的奥妙了!!! 上诉代码内存图: 由图可知,我们虽然创建了两个实例化对象(demo1和demo2),但是因为类中的实例字段(count)被static修饰,所以它是在方法区开辟内存空间,且接下来由这个类所实例化的所有对象里面的count,都是指向方法区count所开辟的一块空间。(说白了,就是count的空间被所有对象所共享,一个对象将count改了,其他对象输出的count也是被改了的) 修饰方法: 如果在任何方法上应用
因为
修饰代码块: java中初始化实例字段的方法有三种:
四种代码块: 1. 本地代码块(定义在方法里面的) 在一个类的声明中,可以包含任意多个代码块。只要构造这个类的对象,这些代码块就会执行。也就是是初始化块里的数据,是为了构造对象时,做一些准备工作。例如: 初始化块,放在前面或者后面,都没关系。因为实例化时,首先会将这些初始化块,从上至下的执行一次。然后才是执行构造方法的的语句。 如果类的静态字段需要很复杂的初始化代码,那么就可以使用静态的初始化块。将代码放在一个块中,并标记关键字 看图,上面的代码。先是执行的 代码块与实例字段初始化的顺序: 总结: 在类第一次加载的时候,将会进行静态字段的初始化。与实例字段一样,除非将静态字段显式地设置成其他值,否则默认的初始值是0、false或者null。所有的静态字段初始化方法以及静态初始化块都将依照类声明中出现的顺序执行。 三、自定义类1、从构造方法开始在上(类的成员)文中,我们提到了类中实例字段的初始化,说到了显式初始化字段值。除了这样初始化,Java还提供了一个叫构造方法的功能。专门用于实例化对象时用。上图所示,就是一些构造方法。 书写格式: public 类名() {} 在构造ListNode类的对象时,会调用构造方法,从而将实例字段初始化为所希望的初始状态。下面三种初始化都可以:
构造方法与其他方法有一个重要的不同之处。 构造方法需要记住这几个点:
要记住所有的Java对象都是在堆中构造的。 2、用var声明局部变量在Java10中,如果可以从变量的初始值推导出它们的类型,那么就可以用
只需写一下代码即可:
这样就可以避免重复写类型名ListNode。 从现在开始,倘若无须了解任何Java API就能从等号右边明显看出类型,在这种情况下,我们都将使用var表示法。不过,我们不会对数值类型使用var,如int、long、double等,使你不用当心0、0L、0.0之间的区别。
3、显式参数与隐式参数我们先看一段代码: reDouble方法,有两个参数。第一个参数salary称为隐式参数,是出现在方法名前的TestDemo类型的对象。第二个参数是位于方法名后面括号中的数值,这是一个显式参数。 可以看到,显式参数显式地列在方法声明中,例如 在没一个方法中,关键字this指示隐式参数。this代表 指向当前对象的引用。
4、认识引用
本期更新就到此结束啦,朋友们下期见!!! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/30 14:06:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |