发表时间:2022-03-25来源:网络
已知c++是java plus,js是java mini,本文是在有c++和js基础上展开的,因此根据夹逼准则,大家已经有了一定的java基础。
java是从c++发展而来,c++由于指针和内存管理等问题不易使用,java在c++的基础上做了减法,比如
自动的内存管理替代了手动
引用类型替代了指针,注意c++中的引用只是个初始化就不能改的别名
不支持操作符重载、不支持预处理器、不支持goto、不支持多继承
通过编译成字节码然后在跨平台的运行时上运行,不同于c++的需要针对平台编译
类型系统简单,取消了结构和联合等数据结构
java本身还不够简练,因此出现了go。
而js的设计之初就是要有一个语法和java类似的脚本语言,因此语法两者很像,比如都分为基本类型和引用类型,而引用类型基于Obejct
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
java源代码为.java文件,需要先编译成.class为后缀的字节码,然后在jvm运行时上运行,jvm类似于v8。

java程序的class不仅是用来实例化对象的模板,还是代码组织的基本单位,其他逻辑和数据类型都是在class中组织的。一个.java源文件可以包含多个class,但只能有一个public,经过编译后,每个class生成一个.class文件,在每个class中。
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/

main函数在java中同样是启动函数,但依然要在一个class中,其他修饰符和参数等概念和c++中类似。
数据类型分为基本类型和引用类型,另外void可以表示没有返回值,不能直接操作
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
整数类型
byte 一位
short
int
long
浮点数类型
float
double
字符类型,用单引号
char
布尔类型
boolean
以下为不同类型所占用字节数,boolean值没规定具体字节数

和js一样,java中的引用类型都是对象,比如数组,和字符串数组或实例化的class,默认为null
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
java中的变量分三种
类变量,即静态变量
实例变量
局部变量,类方法中的变量

java中的运算符和流程控制语句与c++基本一致,这里不多讲。
程序的各部分逻辑都分布在各个class中,class本身又包含各种字段用来保存数据和方法等,对应的又有很多修饰符来指定各子段的使用情况。基本使用和c++类似,相当于只能在文件作用域使用class的c++(还有interface),泛型等和c++类似的功能暂时不提。 多个class文件还可以打包成一个jar包。
类中还可以嵌套内部类。
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
为了更进一步组织代码,还有package的概念,类似于go中的package,使用package定义,用来避免全局命名空间的命名冲突,如果不声明包,则使用的是默认包。
比如有个helllo.world包,其中包和包之间是独立的,不存在从属关系

当使用包时有三种方式,比如我们要访问Person类
写全,hello.world.Person
使用import引入import hello.world.Person,然后直接使用Person类,也可以讲具体的类名(这里是Person)记为*,就可以把该包下所有类引入
使用import static导入一个类得静态方法
修饰符用来修饰类本身或者其中的字段,分为访问修饰符和非访问修饰符两种。
其中访问修饰符包括四种
default 默认,可在类、接口、变量、方法时使用
private 可在变量、方法时使用
public 可在类、接口、变量、方法时使用
protected 可在变量、方法时使用,对于不在同一个包的子类,只可以访问从子类继承来的protected方法,如果在一个包,则父类的protected变量方法子类都可以访问

非访问修饰符包括
static 修饰方法和变量
final 修饰类、方法和变量。被修饰的类不能被继承,方法不能被重新定义,变量为常量
abstract 修饰类和方法
synchronized 和 volatile 用于线程
除了一般的方法,一个类中还可以有一个同名的构造方法,不同构造方法可以根据签名进行重载。
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
接口interface可以和class在同一级,即直接在文件顶层,接口中用来定义抽象方法,然后被class实现(implements)
继承时使用extends,并用super访问父类的字段,如果没有extends,则默认extends Object。
如果子类定义和父类相同的方法,则称为覆写,可选添加@Override,此时签名和被覆写的不一致就会报错。
抽象类是用abstract修饰,只能用于继承的类,抽象类可以有具体的代码实现,接口只能提供存在抽象方法。
java也支持多态。
js中有npm,java中有Maven,实际上maven不仅仅是包管理工具,更是项目管理工具,这里主要看包管理相关。
maven中的pom.xml相当于npm的package.json,其中定义的依赖包可以去远程仓库拉取,当然远程仓库可以是国内镜像。
学习更多Java知识,请点击:https://www.bilibili.com/video/BV1Bi4y1N7m1/
https://www.bilibili.com/video/BV1PV411v7Cm/
https://www.bilibili.com/video/BV1ey4y177ZS/
https://www.bilibili.com/video/BV1ch411Q7jC/
https://www.bilibili.com/video/BV1cX4y1V7gn/
作者:卖油条的。
链接:https://juejin.cn/post/6936448347372781582
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务