| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 有C/C++基础的Java学习 -> 正文阅读 |
|
[C++知识库]有C/C++基础的Java学习 |
Java学习的第二天:/包的创建/我的理解是跟C++头文件的创建差不多,可以看这个视频https://www.bilibili.com/video/BV1h64y1i78N?p=81&share_source=copy_web 3.2.4 对象的封装:类的封装是指,在定义一个类时将类中的属性进行私有化,即使用private关键字进行 修饰,私有化属性只能在当前所在类中被访问,如果外界想要访问私有属性,需要提供一些 public修饰的公共方法,其中包括用于获取属性值的 getter方法和设置属性值的setter 方法。 代码如下
运行结果: 3.3 构造方法3.3.1 构造方法的定义在实例化对象赋值时,不仅可以通过setter方法完成,还可以通过构造方法完成。所谓 的构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。在定义构造方法时, 必须同时满足以下三个条件。 (1)方法的名称和类名必须相同。 (2)在方法名称前没有返回值类型的声明。 (3)在方法体中不可以使用return语句返回一个值,但允许单独写return语句作为方法的结束。 无参构造:
有参构造:
3.3.2 构造方法的重载构造方法与普通方法一样也可以实现重载,由于构造方法的方法名与类名相同,因此***只要每个构造方法的参数类型和参数个数不同即可实现构造方法的重载***。在创建实例对象 时,可以通过调用不同的构造方法为不同的属性进行赋值。 这里不做代码演示了(偷懒) 3.4 this关键字在3.3.2节的案例中,成员变量使用的是num,构造方法使用的是c_num,这样类似的变量一旦增多,则可读性会变得很差,这时需要在一个类中使用统一的变量名称表示年龄。 为了解决这样的问题,Java中提供了一个this关键字表示当前对象,可以在方法中调用其 他的成员。 1.通过this关键字可以明确地访问一个类的成员变量,解决与局部变量名称相同的问题。 2.通过this关键字调用成员方法
3.可以在一个构造方法中使用“this([参数1,参数2…])”的形式调用其他构造方法。 需要注意的是,使用this关键字调用其他构造方法时只能出现在构造方法中, 并且只能位于构造方法的第一行且只能出现一次。另外,不能在两个构造方法中使用this 相互调用,否则会出现编译错误 3.5 static关键字3.5.1 静态变量通过前面的学习读者已经了解,如果使用一个类,则会在产生实例化对象时分别在堆内存中分配空间,在堆内存中要保存对象中的属性,每个对象都有自己的属性,如果有些属性希望被所有对象共享,就必须使用static关键字修饰成员变量,该变量被称为静态变量,可以直接使用“类名 变量名”的形式调用。
static关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错 3.5.2 静态方法通过前面的讲解可知,要想调用某个方法,必须要创建一个对象,那么我们的头脑中一定会有这样一个疑问:有没有一种方法可以不创建对象就能直接调用呢? 实际上有一种方法可以这样操作,那就是静态方法,静态方法与普通方法的区别是在方法前面加一个static关键字,这种方法称为静态方法。
在一个静态方法中只能访问用static修饰的成员,原因在于没有被static修饰的成员需要先创建对象才能访问,而静态方法在被调用时不需要创建任何对象。 3.5.3 静态代码块在Java类中,使用一对大括号包围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块会被执行,由于类只加载一次,所以静态代码块只会执行一次。在程序中,通常会使用静态代码块对类的成员变量进行初始化。 3.6 类的继承3.6.1 继承的概念就是子类父类的关系, 懂吧? 在程序代码中,如果想定义一个类继承另一个类,需要使用extends关键字。如果一个 类没有使用extends关键字明确标识继承另一个类,那么这个类就是默认继承 Object类。 Object类是所有类的父类,该类中的方法适用于其所有子类,其类中常用的方法有toString() 和hashCode()方法等。 **注意:**在类的继承中,需要注意以下几个问题。 (1)在Java中**,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类**。例如 Cow 类继承 Animal类之后,就不允许继承其他类。 (2)多个类可以继承一个父类,例如 Cow 和Sheep类都可以继承Animal类。 (3)在Java中,多层继承是允许的,即一个类的父类可以再继承其他的父类,例 如 Zebra类继承自 Horse类,而 Horse类又可以继承 Animal类,即“子孙三代”。 3.6.2重写父类方法注意,在子类中重写的方法必须与父类被重写的方法具有相同的方法名、参数列表以及返回值类型。 今天就先到这里吧。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 5:23:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |