抽象方法中为什么不能定义方法体
静态方法为什么不能调用非静态方法
方法的重写与重载
隐式转换与显式转换
实现线程的2种方法了解
set、Map了解
今天进行了Java小游戏的考核,考核小游戏和知识点,游戏还可以,就是知识点我复习的不是很好,我自己感觉复习的还好呀,就是感觉都会,但是其实过一段时间就会忘了,也通过这次考核我也认识到了我的这个问题,感觉会了哎,其实还是不太行的,还得多复习几遍,才能算是掌握的还行,真的深刻反思到了,意义重大!
下面就是我对一些不清楚知识点的反思:
黑窗口敲HelloWorld
java引用数据类型
下是Java中常见的引用数据类型:
字符串(String):表示一串字符的序列。字符串在Java中是不可变的,可以使用双引号(" ")来表示。
数组(Array):表示相同类型的多个元素的集合。数组可以存储任何数据类型的元素,可以使用方括号([ ])来声明和访问数组。
类(Class):表示具有相同属性和行为的对象的模板。类是面向对象编程的基本概念,可以用于创建对象。
接口(Interface):表示一组方法的集合,用于定义类应该实现的行为。接口定义了一组方法的签名,但没有方法的实现。
枚举(Enum):表示一组具有固定值的命名常量。枚举类型在Java中用于定义一组相关的常量。
集合(Collection):表示一组对象的容器。Java提供了多种集合类,如List、Set和Map,用于存储和操作对象的集合。
数组的初始化
动态初始化:
int[] arg1 =new int[]{1,2,3};
静态初始化
int[] arg2 = {1,2,3,4,5};
相对路径与绝对路径的好处
使用相对路径适合于项目内部文件的引用,简洁、可移植。
比如·把自己的文件发给别人,用相对路径比较好
使用绝对路径适合于需要准确定位文件或目录位置的情况,具有精确性和可靠性。
for each循环
使用 for each 循环来遍历数组或集合中的元素。for each 循环也被称为增强型 for 循环。
下面是 for each 循环的基本语法:
for (元素类型 变量名 : 数组或集合) {
// 执行循环体操作
}
元素类型 是指数组或集合中元素的类型,变量名 是用于在每次迭代中存储当前元素的变量名。数组或集合 是要遍历的对象
下是Java中常见的引用数据类型:
字符串(String)
数组(Array)
类(Class)
接口(Interface)
枚举(Enum)
集合(Collection)
大驼峰命名法
一般用于类名的命名
每个单词的首字母都大写,单词之间不使用下划线或其他分隔符
小驼峰命名法
通常用于变量名、函数名等标识符
第一个单词的首字母小写,后续单词的首字母大写,单词之间不使用下划线或其他分隔符
方法的命名规范
变量名不能以数字开头,但可以包含数字。不用关键字,小驼峰命名法
java三大特性
封装
继承
多态
常量
使用全大写字母,单词之间用下划线分隔。
常量通常使用 final 修饰。
抽象方法中为什么不能定义方法体
抽象方法是一种特殊类型的方法,它只有方法的声明而没有具体的实现代码。在面向对象编程中,抽象方法用来定义一种约定或契约,要求子类必须实现这个方法。
抽象方法的目的是为了提供一种统一的接口,让不同的子类可以按照自己的方式实现这个方法。
抽象方法不能定义方法体,因为方法体是具体的实现代码,
静态方法为什么不能调用非静态方法
静态方法是属于类的方法,而非静态方法是属于对象的方法。静态方法在类加载时就已经存在,可以直接通过类名来调用,而不需要创建类的实例。非静态方法需要通过对象来调用,必须先创建对象才能使用。由于静态方法在类加载时就存在,而非静态方法需要通过对象来调用,所以在静态方法中无法直接调用非静态方法。
方法的重写与重载
方法的重写是子类重新定义父类中已经存在的方法,方法名称、参数列表和返回类型必须相同,实现多态。
方法的重载是在同一个类中定义多个具有相同名称但参数列表不同的方法,根据参数类型和数量确定调用哪个方法。
隐式转换与显式转换
隐式转换是编译器自动进行的类型转换,发生在类型兼容的情况下,不需要显式指定。
显式转换是通过编写代码来进行的类型转换,需要明确指定转换的目标类型。
实现线程的2种方法了解
1.使用线程库:
在许多编程语言和平台中,都提供了线程库(Thread Library),用于方便地创建和管理线程。
通过线程库,开发人员可以使用库提供的接口来创建线程、启动线程、等待线程完成以及进行线程间通信等操作。
一些常见的线程库包括 Java 中的 java.lang.Thread 类、C++ 中的 std::thread 类、Python 中的 threading 模块等。
2.使用操作系统提供的原生线程支持:
操作系统通常提供了原生线程支持,允许开发人员直接使用操作系统提供的线程 API 来创建和管理线程。
通过原生线程支持,开发人员可以更细粒度地控制线程的创建、调度和管理,以及利用操作系统提供的特性和优化。
一些常见的原生线程支持包括 POSIX 线程(pthread)库、Windows 线程 API(如 CreateThread)、Linux 线程 API(如 clone)等。
总结:
使用线程库是一种跨平台且更易于使用的方式来实现线程,适用于大多数应用程序的线程需求。
使用操作系统提供的原生线程支持可以获得更底层的控制和性能优势,适用于对线程管理有特定需求的场景。
set、Map了解
Set 是一种无序且不重复的集合,用于判断元素是否存在于集合中。
Map 是一种将键和值关联的数据结构,用于通过键来查找和操作对应的值。