认识Java~

Java语言的特性

面向对象

Java是面向对象的语言,所谓面向对象,就是数据、方法都封装在一个class里面,这个class是一个类,对象是类的实例化。类中有方法和属性,方法其实就是函数,属性其实就是数据。我们可以把类理解成是一种新的数据结构。


类:类是一个模板,它描述一类对象的行为和状态。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。


我们一开始学C语言的时候,我们要解决什么问题,就在main()函数中写相应的代码,这是面向过程的编程。假设现在有一个场景:我们先输出数组中的每个数据,然后改变某一些数据,然后再遍历输出。 这里有两次使用到了遍历数组,我们为了提高代码的复用性,我们可以把遍历数组这个功能单独写在一个函数中,在main()函数中需要的时候去调用这个遍历数组的函数即可。
其实类的作用也是类似的,面向对象一大特性就是封装,将一些方法、属性封装起来,实现功能上的解耦。动物我们会分类,猫、狗、兔子、鸟,每一种都有不同的属性,擅长跑or跳or抓耗子。这个世界上有无数的猫、狗、兔子、鸟,假设猫是一个class,一只具体的猫就是里面的一个对象。一只猫有年龄,品种,性别,颜色,这些都是它的属性;它会抓耗子、擅长跑、抓沙发,这些可以看作它的方法。我们用猫这个class、狗这个class分别表示了两个物种,根据其不同特性,将两个类分隔开,这就是面向对象编程中的封装。 我们将某些特定的功能、属性封装起来行程一个类,然后像外暴露一定的接口,可以使用这个类的一些方法,访问这个类的一些属性。
下面是Java菜鸟教程给的一个图:
在这里插入图片描述

⭐封装、继承、多态

这部分是面向对象的重点内容(也是面向对象的重要特性),我只是对这些名字有印象,但是内容已经忘记了……先求助chatgpt吧……后续我学到对应部分再来补充……

  • 封装(Encapsulation)
    封装 是指将数据(属性)和操作数据的方法(方法)捆绑在一起,以防止对数据的未经授权的访问。在 Java 中,封装通过访问修饰符(比如 private、public、protected)来实现。这样可以确保数据的安全性,并且可以通过提供公共方法来控制对数据的访问和修改。

  • 继承(Inheritance)
    继承 是指一个类(称为子类)可以继承另一个类(称为父类)的属性和方法。这意味着子类可以重用父类的属性和方法,同时可以添加自己的属性和方法。继承可以帮助我们建立类之间的层次关系,同时实现代码的重用。

  • 多态(Polymorphism)
    多态 是指同一个方法调用可以有不同的行为。在 Java 中,多态可以通过**方法重载(Overloading)和方法重写(Overriding)**来实现。方法重载是指在同一个类中,方法名相同但参数列表不同的多个方法;方法重写是指子类重新定义了父类的方法,实现了多态的特性。

写Java需要安装什么

  • JDK (Java Development Kit)
    JDK 是 Java 开发工具包,它是用于开发 Java 应用程序的软件开发工具包。JDK 包含了 JRE 和一系列开发工具,比如编译器(javac)、调试器、各种 Java 核心类库、以及用于开发和调试 Java 应用程序的其他工具。如果你想要开发 Java 应用程序【即你要自己写java程序】,你需要安装 JDK。

  • JRE (Java Runtime Environment)
    JRE 是 Java 运行环境,它是用于运行已经编译好的 Java 应用程序的软件运行环境。JRE 包含了 Java 虚拟机(JVM)和 Java 核心类库,这样你就可以在计算机上运行 Java 程序。如果你只是想运行已经编译好的 Java 程序,那么安装 JRE 就足够了。

  • JVM (Java Virtual Machine)
    JVM 是 Java 虚拟机,它是 Java 程序的运行环境。JVM 的主要功能是在实际计算机硬件上模拟运行 Java 字节码。它提供了内存管理、垃圾回收、安全性等方面的支持,使得 Java 程序能够实现“一次编写,到处运行”的特性

三者之间的关系可见下图:
在这里插入图片描述

JDK 包含了 JRE:JDK 提供了开发 Java 应用程序所需的一切,包括 JRE 和开发工具。
JRE 包含了 JVM:JRE 提供了运行 Java 应用程序所需的一切,包括 JVM 和 Java 核心类库。
简而言之,JDK 包含了 JRE,而 JRE 包含了 JVM。这三者之间的关系可以用“JDK 包含 JRE,JRE 包含 JVM”来简单概括。

写一个Java程序叭

经典的输出“Hello World”:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

可以看到我们先建立了一个类:HelloWorld;在类里面有一个main方法,其实这是java程序的主方法入口,所有的 Java 程序由 public static void main(String[] args) 方法开始执行,这个函数除了函数名main,返回类型void,前面还有两个修饰符:
在这里插入图片描述
前面说java是面向对象的,属性、方法都要封装在类里面,那么我们尝试写一个函数,不写在class里面会怎么样:
在这里插入图片描述
可以看到有提示,需要写成class或者interface(接口),所以java确实是不能像C/C++一样,单独写一个函数,必须封装在类or接口中。

Java编译执行的过程

解释型语言

解释型语言的代码在执行时是逐行解释执行的,不需要预先编译成机器码。解释器会逐行读取源代码,并且在运行时将其翻译成机器码执行。典型的解释型语言有 Python、JavaScript 等。解释型语言具有良好的跨平台移植性,但通常执行速度比编译型语言慢。

编译型语言

编译型语言的代码在执行之前需要先被编译成机器语言(或者中间代码),这个过程由编译器完成,生成的目标文件可以直接在特定平台上执行。典型的编译型语言有 C、C++ 等。
需要注意的是,在一个平台上编译生成目标代码后,要在别的平台上运行,需要重新编译。因此在编译型语言中,代码的执行速度通常比解释型语言快,但是跨平台移植性较差。

Java编译执行过程

Java 被认为是一种混合型语言,因为它同时具有编译型语言和解释型语言的特性。Java 代码首先被编译成字节码(bytecode),这是一种中间代码。然后,Java 虚拟机(JVM)将这些字节码解释执行,或者在某些情况下,将其即时编译成本地机器代码执行。这种混合的方式使得 Java 具有跨平台移植性,同时又保持了一定的执行效率。
总的来说,Java 代码首先被编译成字节码,这使得它具有编译型语言的特性;然后字节码由 JVM 解释执行,这使得它具有解释型语言的特性。这种设计使得 Java 在很多方面都具有灵活性和效率。
通过指令javac xxxx.java完成编译过程,如果编译器未检测到错误,会生成一个xxxx.class 的字节码文件;之后通过java xxxx 运行字节码文件,这是JVM完成的事情。不同平台安装对应版本的JVM,即可实现一个.java文件跨平台执行。

SSM是什么、MVC是什么

看这个👉SSM框架详解
简单来说SSM是一种基于java语言的框架,企业(或个人)利用这样的框架开发应用;MVC是一种控制模式。

编程语言的名字

Java为什么图标是咖啡? java就是咖啡呀!hhhhhh好冷的笑话
Python单词的意思竟然是…… 大!蟒!蛇!hhhhhhh

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值