1、安装jdk并配置多版本jdk切换脚本。
安装配置jdk
1.下载对应版本jdk
2.设置环境变量
打开计算机属性→高级系统设置→环境变量
在系统变量区域,点击【新建】
3.配置 Path
新增环境变量(%JAVA_HOME%\bin)
4.打开命令提示符窗口,输入命令 java -version ,查看jdk版本
jdk多版本切换
1.添加切换脚本,创建目录 D:\java\scripts,然后将该目录添加到"Path"环境变量
2.根据需要在scripts目录下创建java11.bat文件,文件的内容:
@echo off
set JAVA_HOME=D:\java\jdk-11.0.21
set Path=%JAVA_HOME%\bin;%Path%
echo Java 11 activated.
3.验证成功多版本切换jdk
2、安装并破解最新版IDEA,并汉化
安装
1.在官网下载 IDEA最新版本的安装包
2.安装完成IDEA 运行成功后,会弹出如下对号框,强制用户需要先登录 JetBrains 账户才能使用,退出IDEA准备开始破解激活
破解
1.将破解文件jetbra.rar并解压到 C:/ 盘根目录下(补丁所属文件夹需单独存放,且放置的路径不要有中文与空格,以免 IDEA 读取补丁错误)
2.进入C:\jetbra\scripts 目录下,双击执行install-current-user.vbs,如果执行脚本被安全软件提示有风险拦截,允许执行即可。点击【确定】按钮后,如看到弹框提示 Done 时,表示激活破解成功
3.重新打开 IDEA 后,复制填入激活码,点击激活
* 注意,2024.2 之后的版本,若初次安装,会提示选择所在区域,如下图所示,如果选择了China Mainland ,会反复跳出激活码并提示无效,原因是新版本会拦截 .cn 域名,导致许可被吊销,所以,千万不要指定区域
汉化
最新版的idea已经默认集成了汉化插件,如果显示英文界面,可以直接切换语言
- 按下快捷键:
Windows/Linux: Ctrl + Shift + A
macOS: Cmd + Shift + A
- 输入 Switch Language ,然后选择中文或 Chinese (Simplified) 。
- 重启 IDEA,查看是否⽣效。
3、使用IDEA创建java项目,输出helloworld并打包
1.创建java项目。在【新建项目】向导中,从左侧列表中选择【Java】。命名为HelloWorld,确保在【构建系统】中选择了【IntelliJ】
2.右击src文件,选择新建class类,在名称字段中输入com.example.helloworld.HelloWorld后回车,IntelliJ IDEA 将创建com.example.helloworld 包和 HelloWorld 类
3.编写代码,输入main或者psvm自动生成main方法,然后输入sout,打印helloworld字符串。
4.打包生成jar包
-
选择【项目结构】 > 【工件】> 单击
+指向 JAR,然后选择【从具有依赖项的模块】在主类字段选择对应选项,最后点击应用,确定。 -
在【主菜单】> 【构建】> 选择【构建工件】生成jar包
-
验证构建的jar工件正确生成
java -jar helloworld.jar
4、使用IDEA进行调试,熟练掌握调试方法
点击右上角的“小虫”打开调试
5、复习java se基础,重点掌握面向对象编程。
1. 面向对象基础
-
类与实例(class和instance)
- 类(Class)是对象模板,定义字段(属性)和方法
- 实例(Instance)是类的具体对象
-
封装
通过 class ,把⼀组数据汇集到⼀个对象上,实现了数据封装
-
private保护字段,通过public方法访问/修改(getter/setter) -
public是用来修饰字段的,它表示这个字段可以被外部访问。一个Java源文件可以包含多个类的定义,但只能定义一个public类,且public类名必须与文件名一致。如果要定义多个public类,必须拆到多个Java源文件中。
-
-
方法
-
可定义参数和返回值
-
方法重载(Overload):同名方法不同参数列表
-
final方法禁止子类覆盖一个类通过定义方法,就可以给外部代码暴露一些操作的接口,同时,内部自己保证逻辑一致性。
调用方法的语法是
实例变量.方法名(参数);。一个方法调用就是⼀个语句,所以不要忘了在末尾加;。
方法返回值通过return语句实现,如果没有返回值,返回类型设置为void,可以省略return。
-
-
构造方法
-
创建实例的时候,实际上是通过构造方法来初始化实例的。
-
构造方法的参数没有限制,在方法内部,也可以编写任意语句。但是,和普通方法相比,构造方法没有返回值(也没有void),调用构造方法,必须⽤ new 操作符。
-
可以定义多个构造方法,在通过 new 操作符调用的时候,编译器通过构造方法的参数数量、位置和类型自动区分。
-
⼀个构造方法可以调用其他构造方法,这样做的目的是便于代码复用。
-
2. 继承与多态
- 继承机制
extends实现继承,单继承结构- 子类继承父类非private成员
- 可以复用代码
- 子类自动获得了父类的所有字段,严禁定义与父类重名的字段
- protected 关键字可以把字段和方法的访问权限控制在继承树内部,⼀个 protected字段和方法可以被其⼦类,以及子类的子类所访问
- 如果父类没有默认的构造⽅法,子类就必须显式调⽤ super() 并给出参数以便让编译器定位到父类的⼀个合适的构造方法
- 多态特性
- 向上转型:父类引用指向子类实例
- 向下转型:把⼀个父类类型强制转型为子类类型
- 继承是is关系,组合是has关系
- 方法覆写(Override):子类覆盖父类方法
- 多态具有⼀个非常强大的功能,就是允许添加更多类型的子类实现功能扩展,却不需要修改基于父类的代码。
- 动态绑定:运行期根据实际类型调用方法
instanceof检查类型,向下转型需强制转换
- final与abstract
final class禁止继承,final method禁止重写- 抽象类包含抽象方法(无实现),需子类实现
- 抽象类不能实例化
- 如果⼀个 class 定义了方法,但没有具体执行代码,这个⽅法就是抽象方法,抽象方法用 abstract 修饰
3 .接口与高级特性
- 接口(interface)
- 纯抽象类型(Java8+支持default方法)
- ⼀个 interface 可以继承自另⼀个 interface 。 interface 继承子 interface 使用 extends ,它相当于扩展了接口的方法
- 接口继承用
extends,可多继承接口
- 静态成员
static修饰的字段/方法属于类而非实例- 静态方法只能访问静态成员
- 通过类名直接访问
- 静态字段只有⼀个共享“空间”,所有实例都会共享该字段
- 包与访问控制
- 包(package)管理命名空间
- Java定义了⼀种名字空间,称之为包: package 。⼀个类总是属于某个包,类名(比如 Person )只是⼀个简写,真正的完整类名是
包名.类名 - 在Java虚拟机执行的时候,JVM只看完整类名,因此,只要包名不同,类就不同
- 位于同⼀个包的类,可以访问包作用域的字段和方法。不用 public 、 protected 、 private 修饰的字段和方法就是包作用域
public全局可见,protected子类可见- 默认包作用域(无修饰符)同包内可见