[docs update]完善Java基础常见面试题总结(上),添加一些代码示例

This commit is contained in:
Guide 2023-04-28 15:44:41 +08:00
parent c1fc5ac09c
commit bc083f989c
7 changed files with 120 additions and 27 deletions

View File

@ -2,6 +2,7 @@ import { navbar } from "vuepress-theme-hope";
export const navbarConfig = navbar([
{ text: "面试指南", icon: "java", link: "/home.md" },
{ text: "知识星球", icon: "code", link: "/about-the-author/zhishixingqiu-two-years.md" },
{ text: "开源项目", icon: "github", link: "/open-source-project/" },
{ text: "技术书籍", icon: "book", link: "/books/" },
{ text: "程序人生", icon: "article", link: "/high-quality-technical-articles/" },

View File

@ -121,16 +121,21 @@ star: 2
## 如何加入?
![](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
![知识星球](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
如果你想要进知识星球的话建议你添加我的微信guidege666领取一个星球专属优惠券一定要备注“优惠卷”可以优惠 **30** 元,无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
你可以扫描上方的二维码原价加入(续费半价)。不过,我更建议你添加我的个人微信领取一个 **30** 元的星球专属优惠券(一定要备注“优惠卷”)。
**无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。用心做内容,不割韭菜!**
**一定要备注“优惠卷”**,不然通过不了。
![个人微信](https://oss.javaguide.cn/xingqiu/weixin-guidege666.jpeg)
进入星球之后,记得查看[星球使用指南](https://t.zsxq.com/0d18KSarv)(一定要看!) 。
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多,星球的价格会逐步向上调整,想要加入的同学一定要尽早。
不过, **一定要确定需要再进** 。并且, **三天之内觉得内容不满意可以全额退款**
**星球提供的服务质量还是很高的,非常适合准备面试的同学。我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!**

View File

@ -23,7 +23,65 @@ head:
另外,面向对象开发的程序一般更易维护、易复用、易扩展。
相关 issue : [面向过程 :面向过程性能比面向对象高??](https://github.com/Snailclimb/JavaGuide/issues/431)
相关 issue : [面向过程 :面向过程性能比面向对象高??](https://github.com/Snailclimb/JavaGuide/issues/431) 。
下面是一个求圆的面积和周长的示例,简单分别展示了面向对象和面向过程两种不同的解决方案。
**面向对象**
```java
public class Circle {
// 定义圆的半径
private double radius;
// 构造函数
public Circle(double radius) {
this.radius = radius;
}
// 计算圆的面积
public double getArea() {
return Math.PI * radius * radius;
}
// 计算圆的周长
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public static void main(String[] args) {
// 创建一个半径为3的圆
Circle circle = new Circle(3.0);
// 输出圆的面积和周长
System.out.println("圆的面积为:" + circle.getArea());
System.out.println("圆的周长为:" + circle.getPerimeter());
}
}
```
我们定义了一个 `Circle` 类来表示圆,该类包含了圆的半径属性和计算面积、周长的方法。
**面向过程**
```java
public class Main {
public static void main(String[] args) {
// 定义圆的半径
double radius = 3.0;
// 计算圆的面积和周长
double area = Math.PI * radius * radius;
double perimeter = 2 * Math.PI * radius;
// 输出圆的面积和周长
System.out.println("圆的面积为:" + area);
System.out.println("圆的周长为:" + perimeter);
}
}
```
我们直接定义了圆的半径,并使用该半径直接计算出圆的面积和周长。
### 创建一个对象用什么运算符?对象实体与对象引用有何不同?
@ -37,12 +95,39 @@ new 运算符new 创建对象实例(对象实例在堆内存中),对象
- 对象的相等一般比较的是内存中存放的内容是否相等。
- 引用相等一般比较的是他们指向的内存地址是否相等。
### 类的构造方法的作用是什么?
这里举一个例子:
构造方法是一种特殊的方法,主要作用是完成对象的初始化工作。
```java
String str1 = "hello";
String str2 = new String("hello");
String str3 = "hello";
// 使用 == 比较字符串的引用相等
System.out.println(str1 == str2);
System.out.println(str1 == str3);
// 使用 equals 方法比较字符串的相等
System.out.println(str1.equals(str2));
System.out.println(str1.equals(str3));
```
输出结果:
```
false
true
true
true
```
从上面的代码输出结果可以看出:
- `str1``str2` 不相等,而 `str1``str3` 相等。这是因为 `==` 运算符比较的是字符串的引用是否相等。
- `str1``str2` 、`str3` 三者的内容都相等。这是因为`equals` 方法比较的是字符串的内容,即使这些字符串的对象引用不同,只要它们的内容相等,就认为它们是相等的。
### 如果一个类没有声明构造方法,该程序能正确执行吗?
构造方法是一种特殊的方法,主要作用是完成对象的初始化工作。
如果一个类没有声明构造方法也可以执行因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法无论是否有参Java 就不会添加默认的无参数的构造方法了。
我们一直在不知不觉地使用构造方法,这也是为什么我们在创建对象的时候后面要加一个括号(因为要调用无参的构造方法)。如果我们重载了有参的构造方法,记得都要把无参的构造方法也写出来(无论是否用到),因为这可以帮助我们在创建对象的时候少踩坑。

View File

@ -31,12 +31,16 @@ category: 知识星球
![知识星球](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
如果你想要进知识星球的话建议你添加我的微信guidege666领取一个星球专属优惠券一定要备注“优惠卷”可以优惠 **30** 元,无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
你可以扫描上方的二维码原价加入(续费半价)。不过,我更建议你添加我的个人微信领取一个 **30** 元的星球专属优惠券(一定要备注“优惠卷”)。
**无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。用心做内容,不割韭菜!**
**一定要备注“优惠卷”**,不然通过不了。
![个人微信](https://oss.javaguide.cn/xingqiu/weixin-guidege666.jpeg)
进入星球之后,记得查看[星球使用指南](https://t.zsxq.com/0d18KSarv)(一定要看!) 。
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多,星球的价格会逐步向上调整,想要加入的同学一定要尽早。
不过, **一定要确定需要再进** 。并且, **三天之内觉得内容不满意可以全额退款**
@ -47,5 +51,3 @@ category: 知识星球

View File

@ -80,12 +80,16 @@ star: 5
![知识星球](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
如果你想要进知识星球的话建议你添加我的微信guidege666领取一个星球专属优惠券一定要备注“优惠卷”可以优惠 **30** 元,无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
你可以扫描上方的二维码原价加入(续费半价)。不过,我更建议你添加我的个人微信领取一个 **30** 元的星球专属优惠券(一定要备注“优惠卷”)。
**无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。用心做内容,不割韭菜!**
**一定要备注“优惠卷”**,不然通过不了。
![个人微信](https://oss.javaguide.cn/xingqiu/weixin-guidege666.jpeg)
进入星球之后,记得查看[星球使用指南](https://t.zsxq.com/0d18KSarv)(一定要看!) 。
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多,星球的价格会逐步向上调整,想要加入的同学一定要尽早。
不过, **一定要确定需要再进** 。并且, **三天之内觉得内容不满意可以全额退款**

View File

@ -26,27 +26,21 @@ category: 知识星球
## 星球限时优惠
两年前,星球的定价是 **50/年** ,这是星球的最低定价,我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,几乎就是纯粹做公益。
![知识星球](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
感兴趣的小伙伴可以看看我在 2020-01-03 发的头条:[做了一个很久没敢做的事情](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd),去考古一下
你可以扫描上方的二维码原价加入(续费半价)。不过,我更建议你添加我的个人微信领取一个 **30** 元的星球专属优惠券(一定要备注“优惠卷”)
![](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
**无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。用心做内容,不割韭菜!**
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多。于是,我将星球的定价慢慢调整为了 **159/年**!后续会将星球的价格调整为 **199/年**,想要加入的小伙伴一定要尽早
**一定要备注“优惠卷”**,不然通过不了
你可以添加我的微信(没有手机号再申请微信,故使用企业微信。不过,请放心,这个号的消息也是我本人处理,平时最常看这个微信)领取星球专属优惠券,限时 **130/年** 加入!
![个人微信](https://oss.javaguide.cn/xingqiu/weixin-guidege666.jpeg)
![](https://oss.javaguide.cn/github/javaguide/IMG_3007.jpg)
进入星球之后,记得查看[星球使用指南](https://t.zsxq.com/0d18KSarv)(一定要看!) 。
或者你也可以直接使用下面这张 **20** 元的优惠券,**139/年** 加入。
![](https://oss.javaguide.cn/xingqiu/xingqiuyouhuijuan-20.png)
进入星球之后,你可以为自己制定一个目标,比如自己想要进入某某还不错的公司或者达成什么成就(一定要是还算有点挑战的目标)。待你完成目标在星球分享之后,我会将星球的门票费退还给你。
**真诚欢迎准备面试的小伙伴加入星球一起交流!真心希望能够帮助到更多小伙伴!**
**加入星球之后记得看[置顶主题](https://t.zsxq.com/04iiiAqf6),你会发现物超所值!**
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多,星球的价格会逐步向上调整,想要加入的同学一定要尽早。
不过, **一定要确定需要再进** 。并且, **三天之内觉得内容不满意可以全额退款**
**星球提供的服务质量还是很高的,非常适合准备面试的同学。我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!**

View File

@ -38,17 +38,19 @@ star: true
![知识星球](https://oss.javaguide.cn/xingqiu/image-20220311203414600.png)
如果你想要进知识星球的话建议你添加我的微信guidege666领取一个星球专属优惠券一定要备注“优惠卷”可以优惠 **30** 元,无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
你可以扫描上方的二维码原价加入(续费半价)。不过,我更建议你添加我的个人微信领取一个 **30** 元的星球专属优惠券(一定要备注“优惠卷”)。
**无任何套路,无任何潜在收费项。收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。用心做内容,不割韭菜!**
**一定要备注“优惠卷”**,不然通过不了。
![个人微信](https://oss.javaguide.cn/xingqiu/weixin-guidege666.jpeg)
进入星球之后,记得查看[星球使用指南](https://t.zsxq.com/0d18KSarv)(一定要看!) 。
随着时间推移,星球积累的干货资源越来越多,我花在星球上的时间也越来越多,星球的价格会逐步向上调整,想要加入的同学一定要尽早。
不过, **一定要确定需要再进** 。并且, **三天之内觉得内容不满意可以全额退款**
**星球提供的服务质量还是很高的,非常适合准备面试的同学。我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!**