跳至主要內容
手把手教你用 C语言实现 Java native 本地方法

5.6 Java native方法

“三妹,之前我们学习了 Java 中的基本方法,其实 Java 还有一种方法,本地方法,或者叫 native 方法,它与之前的方法有很大的不同。”我放下手中的手机,扭过脸来对三妹说。

“听起来挺有意思的。”三妹很期待。

“我会教你用 C语言实现一个 native 方法。”我继续说到,“C语言是另外一种编程语言,你可以点这个链接去了解和学习。让我们开始吧”


沉默王二大约 8 分钟Java 核心面向对象编程
Java中的包:如何创建、导入和使用 package 来优化代码结构

5.2 Java中的包

“三妹,这一节,我们简单过一下 Java 中的包,也就是 package,这个一点就透,很好掌握。”我放下手中的雪碧,翻开笔记本,登上 GitHub,点开《二哥的 Java 进阶之路》,找到这篇「Java 中的包」,开始滔滔不绝起来。

“二哥,你等一下。”让我打开思维导图做一下笔记📒。

关于包

在前面的代码中,我们把类和接口命名为PersonStudentHello等简单的名字。

在团队开发中,如果小明写了一个Person类,小红也写了一个Person类,现在,小白既想用小明的Person,也想用小红的Person,怎么办?


沉默王二大约 7 分钟Java 核心面向对象编程
聊聊Java封装:Java面向对象核心概念

5.13 Java封装

“三妹,准备好了没,我们这节来讲 Java 封装,算是 Java 的三大特征之一,理清楚了,对以后的编程有较大的帮助。”我对三妹说。

“好的,哥,准备好了。”三妹一边听我说,一边迅速地打开了 XMind,看来一边学习一边总结思维导图这个高效的学习方式三妹已经牢记在心了。

封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体

数据被保护在类的内部,尽可能地隐藏内部的实现细节,只保留一些对外接口使之与外部发生联系。


沉默王二大约 7 分钟Java 核心面向对象编程
聊聊 Java 多态

5.16 Java多态

“三妹啊,前面聊完了 Java 的封装继承,今天我们来继续聊多态,也是 Java 三大特性的最后一个特性,搞懂它,Java 面向对象编程基本上就能轻松拿捏了。”我对三妹说。


沉默王二大约 6 分钟Java 核心面向对象编程
Java访问权限修饰符:掌握封装的核心原则

5.8 Java访问权限修饰符

“我们先来讨论一下为什么需要访问权限控制。其实之前我们在讲类和对象的时候有提到,今天我们来详细地聊一聊,三妹。”我开门见山地说,“三妹,你打开思维导图,记得做笔记哦。”

“好的。”三妹应声回答。

考虑两个场景:

场景 1:工程师 A 编写了一个类 ClassA,但是工程师 A 并不希望 ClassA 被其他类都访问到,该如何处理呢?


沉默王二大约 6 分钟Java 核心面向对象编程
深入理解 Java 继承

5.14 Java封装继承多态

“三妹,今天我们继续来学习 Java 的三大特征之一:继承,之前学习抽象类的时候我们已经接触过这个概念,不过,我们今天我们来认真地聊一聊。”慢吞吞说完这句开篇词后,我对三妹做了一个打开 XMind 的手势提醒(其实就是瞎比划)。

“懂了,哥,我这就打开。”三妹一边说,一边打开了 XMind,开始正襟危坐了起来。

在谈 Java 面向对象的时候,不得不提到面向对象的三大特征:封装继承多态。三大特征紧密联系而又有区别,合理使用继承能大大减少重复代码,提高代码复用性。


沉默王二大约 22 分钟Java 核心面向对象编程
聊聊Java内部类:成员内部类、局部内部类、匿名内部类、静态内部类

5.12 Java内部类

“在 Java 中,可以将一个类定义在另外一个类里面或者一个方法里面,这样的类叫做内部类。”我放下手中的枸杞杯,对三妹说,“一般来说,内部类分为成员内部类、局部内部类、匿名内部类和静态内部类。”

1)成员内部类

成员内部类是最常见的内部类,看下面的代码:

class Wanger {
    int age = 18;
    
    class Wangxiaoer {
        int age = 81;
    }
}

沉默王二大约 6 分钟Java 核心面向对象编程
方法重写 Override 和方法重载 Overload 有什么区别?

5.19 Java方法重写和方法重载

入冬的夜,总是来得特别的早。我静静地站在阳台,目光所及之处,不过是若隐若现的钢筋混凝土,还有那毫无情调的灯光。

“哥,别站在那发呆了。今天学啥啊,七点半我就要回学校了,留给你的时间不多了,你要抓紧哦。”三妹傲娇的声音一下子把我从游离的状态拉回到了现实。

“今天要学习 Java 中的方法重载与方法重写。”我迅速地走到电脑前面,打开一份 Excel 文档,看了一下《教妹学 Java(二哥的 Java 进阶之路前身)》的进度,然后对三妹说。

“如果一个类有多个名字相同但参数个数不同的方法,我们通常称这些方法为方法重载。 ”我面带着朴实无华的微笑继续说,“如果方法的功能是一样的,但参数不同,使用相同的名字可以提高程序的可读性。”


沉默王二大约 16 分钟Java 核心面向对象编程
2