C11第二十周

82 阅读6分钟

1、安装jdk并配置多版本jdk切换脚本。

安装配置jdk

1.下载对应版本jdk

1

2.设置环境变量

打开计算机属性高级系统设置环境变量

在系统变量区域,点击【新建】

2 3

3.配置 Path

4

新增环境变量(%JAVA_HOME%\bin)

5

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

7

2、安装并破解最新版IDEA,并汉化

安装

1.在官网下载 IDEA最新版本的安装包

2.安装完成IDEA 运行成功后,会弹出如下对号框,强制用户需要先登录 JetBrains 账户才能使用,退出IDEA准备开始破解激活

8

破解

1.将破解文件jetbra.rar并解压到 C:/ 盘根目录下(补丁所属文件夹需单独存放,且放置的路径不要有中文与空格,以免 IDEA 读取补丁错误)

9

2.进入C:\jetbra\scripts 目录下,双击执行install-current-user.vbs,如果执行脚本被安全软件提示有风险拦截,允许执行即可。点击【确定】按钮后,如看到弹框提示 Done 时,表示激活破解成功

10

3.重新打开 IDEA 后,复制填入激活码,点击激活

* 注意,2024.2 之后的版本,若初次安装,会提示选择所在区域,如下图所示,如果选择了China Mainland ,会反复跳出激活码并提示无效,原因是新版本会拦截 .cn 域名,导致许可被吊销,所以,千万不要指定区域

11 12

汉化

最新版的idea已经默认集成了汉化插件,如果显示英文界面,可以直接切换语言

  1. 按下快捷键:

Windows/Linux: Ctrl + Shift + A

macOS: Cmd + Shift + A

  1. 输入 Switch Language ,然后选择中文或 Chinese (Simplified) 。
  2. 重启 IDEA,查看是否⽣效。

3、使用IDEA创建java项目,输出helloworld并打包

1.创建java项目。在【新建项目】向导中,从左侧列表中选择【Java】。命名为HelloWorld,确保在【构建系统】中选择了【IntelliJ】

13

2.右击src文件,选择新建class类,在名称字段中输入com.example.helloworld.HelloWorld后回车,IntelliJ IDEA 将创建com.example.helloworld 包和 HelloWorld 类

14

3.编写代码,输入main或者psvm自动生成main方法,然后输入sout,打印helloworld字符串。

15

4.打包生成jar包

  • 选择【项目结构】 > 【工件】> 单击+指向 JAR,然后选择【从具有依赖项的模块】在主类字段选择对应选项,最后点击应用,确定。

    16 17 19
  • 在【主菜单】> 【构建】> 选择【构建工件】生成jar包

    18
  • 验证构建的jar工件正确生成java -jar helloworld.jar

20

4、使用IDEA进行调试,熟练掌握调试方法

点击右上角的“小虫”打开调试

21 22

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子类可见
    • 默认包作用域(无修饰符)同包内可见