Java开发必学知识合集(一)

简介: Java开发过程中,常用且重要的知识点是开发中最基本的,尤其是刚接触Java开发不久的开发者来说,基本功很重要,是直接做Java工作的基本,那么本文就来分享一下在Java开发过程中的常用的知识点,由于篇幅问题,这里只分享一部分内容,没有分享到的会在后面的博文中分享。

前言

Java开发过程中,常用且重要的知识点是开发中最基本的,尤其是刚接触Java开发不久的开发者来说,基本功很重要,是直接做Java工作的基本,那么本文就来分享一下在Java开发过程中的常用的知识点,由于篇幅问题,这里只分享一部分内容,没有分享到的会在后面的博文中分享。

(一)

一、equals 和 ==的对比

关于Java 学习必备基础知识点:equals 和 == 的对比,具体分析如下所示。

二、知识点

1、equals

它的作用是判断两个对象是否相等,但是它有两种使用情况: ①:类没有被覆盖equals()方法,则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。
②:类覆盖了equals()方法,一般都覆盖equals()方法来比较两个对象的内容是否相等;若它们的内容相等,就返回true(即认为这两个对象相同)。

2、==

它的作用就是判断两个对象的地址是否相等。也就是判断两个对象是否为同一个对象。

三、示例

这里举一个关于equals的示例,如下:

public class demo { 
        public static void main(String[] args) { 
        String a = new String("ab");     // a 为一个引用 
        String b = new String("ab");     // b 为另一个引用, 对象的内容一样 
        String aa = "ab";     // 放在常量池中 
        String bb = "ab";     // 从常量池中查找 
        if (aa == bb)     // true 
            System.out.println("aa==bb"); 
        if (a == b)     // false,不是同一对象 
            System.out.println("a==b"); 
        if (a.equals(b))     // true 
            System.out.println("a++b"); 
        if (42 == 42.0) {     // true 
            System.out.println("true"); 
            } 
        } 
    }    

四、总结

在Java学习的时候,必备知识点之一就是equals 和 ==的对比,还请学习者在学习的时候一定要加强巩固相关知识。通过本文上述讲解之后,读者应该清楚知道了equals 和 ==的对比。

(二)

一、局部变量和成员变量的区别

关于Java 学习必备基础知识点,局部变量和成员变量的区别,具体分析如下所示。

二、知识点

局部变量和成员变量的区别在于

1、语法形式上

成员变量是属于类的,但是局部变量在方法中定义的变量或是方法的参数;成员变量可以被public、private、static等修饰符所修饰,但是局部变量不能被访问控制修饰符以及static所修饰。

2、变量在内存中的存储方式上

若成员变量使用static修饰,则该成员变量是属于类的;若没有使用static修饰,则该成员变量是属于实例的。

3、变量在内存中的生存时间上

成员变量是对象的一部分,它会随着对象的创建而存在;局部变量随着方法的调用而自动消失。

4、成员变量没有被赋初始值上

成员变量如果没有被赋初始值,就会自动以类型的默认值而赋值,但是局部变量则不会自动赋值。

三、注意事项

1、局部变量和成员变量都能被final修饰。
2、成员变量存在于堆内存,局部变量存在于栈内存。
3、被final修饰的成员变量必须显式的赋值。

四、总结

在Java学习的时候,必备知识点之一就是局部变量和成员变量的区别,还请学习者在学习的时候一定要加强巩固相关知识。通过本文上述讲解之后,读者应该清楚知道了局部变量和成员变量的区别。

(三)

一、抽象类和接口的区别

抽象类和接口的区别,具体分析如下所示。

二、知识点

抽象类和接口的区别在于:
1、接口中除了static、final变量之外,不能有其他的变量,但是抽象类就不一定。
2、接口的默认方法是public,所有方法在接口中不能有默认实现,但是抽象类可以有非抽象的方法。
3、一个类可以实现多个接口,但是只能实现一个抽象类。接口本身也可通过extends关键字扩展多个接口。
4、接口的默认修饰符是public,抽象方法可以有public、protected和default等修饰符。
5、在设计层面来讲,抽象是对类的抽象,是一种模板设计;但是接口是对行文的对象,是一种行为规范。

三、注意事项

1、Java8开始接口方法可以有默认实现。
2、抽象方法是为了被重写,所以才不能使用private关键字修饰。
3、在JDK8中,接口可定义静态方法,也可直接使用接口名字调用。
4、实现类 和 实现 是不可以调用的,若同时实现两个接口,接口中定义了相同的默认方法,必须要重写,不然就会报错。

四、总结

在Java学习的时候,必备技能之一就是抽象类和接口的区别,还请学习者在学习的时候一定要巩固一下相关知识。通过本文上述讲解之后,读者应该清楚知道了抽象类和接口的区别。

(四)

一、面向对象编程的三大特性: 封装 继承 多态

Java面向对象编程的三大特性: 封装 继承 多态,具体分析如下所示。

二、知识点

1、封装

封装把一个对象的属性私有化,同时提供一些可被外界访问的属性的方法,若属性不想被外界访问,不必提供方法给外界访问,但如果一个类没有提供给外界访问的方法,那么这个类也没有意义了。

2、继承

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承,可以使开发者能够非常方便地复用以前的代码。

3、多态

多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在程序运行期间才能决定。

三、注意事项

1、关于继承有三点需要加强记忆:

①子类拥有父类对象所有的属性和方法(包括私有属性、私有方法);但是父类中的私有属性和方法,子类是无法访问,只是拥有。 ②子类可以拥有自己属性和方法,即子类可以对父类进行扩展。 ③子类可以用自己的方式实现父类的方法。

2、关于多态的两种形式

在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。

四、总结

在Java学习的时候,必备技能就是面向对象编程的特性,还请学习者在学习的时候一定要巩固一下相关知识点。通过本文上述讲解之后,读者应该清楚知道了面向对象编程的特性。以上就是本篇文章的知识点,欢迎指正批评。

(五)

一、字符串和字符型的区别

字符串和字符型的区别,具体分析如下所示。

二、知识点

字符串和字符型的区别在三种情况下的对比
1、形式上
字符串是双引号引起来的若干个字符;字符型是单引号引起来的一个字符。
2、含义上
字符串代表一个地址值(在内存中存放的位置);字符型相当于一个整型值(ASCII值),可以参与表达式运算。
3、占内存上
字符串占若干个字节(至少一个字符结束标志);字符型只占了2个字节。

三、注意事项

1、char在Java中占2个字节。
2、Java要确定每种类型所占存储空间的大小,但是它们的大小并不像其他大多数语音那样随机器硬件结构的变化而变化,这种所占存储空间大小的不变形是Java程序比用其它大多数语言编写的程序更具可移植性的原因之一。
3、见下表

1.jpeg

四、总结

在Java学习的时候,必学的知识点之一就是字符串和字符型的区别,还请学习者在学习的时候一定要重视该相关知识。通过本文上述讲解之后,读者应该清楚知道了字符串和字符型的区别。以上就是本篇文章的知识点,欢迎指正批评。

最后

通过本文关于Java开发必学知识合集的部分知识点分享,想必读者应该知道了Java开发中核心的这些知识点,这些知识点的重要性不言而喻,直接掌握无需多想。以上就是本文的全部内容,如有不妥之处,还请多多提出来。

相关文章
|
6天前
|
IDE Java 开发工具
Spring Boot:加速Java后端开发的现代化利器
在当今快速迭代的软件开发环境中,Spring Boot 已成为Java后端开发领域的首选框架。作为Spring家族的一员,它以“约定优于配置”的设计理念,极大地简化了传统Spring应用的配置和部署过程,让开发者能够更加专注于业务逻辑的实现。本文将探讨Spring Boot的核心优势,并通过一个简单的示例展示如何快速启动一个基于Spring Boot的Java Web应用。
25 1
|
2天前
|
前端开发 Java 开发工具
Java GUI编程:跨平台应用的设计与开发
Java GUI编程:跨平台应用的设计与开发
|
1天前
|
存储 安全 Java
基于Java的区块链数字身份认证系统设计与开发
基于Java的区块链数字身份认证系统设计与开发
|
2天前
|
机器学习/深度学习 人工智能 Java
Java与AI集成开发:机器学习模型部署
Java与AI集成开发:机器学习模型部署
|
8天前
|
Java
Java开发唯一性校验技巧
Java开发唯一性校验技巧
20 2
|
8天前
|
Java easyexcel
java开发excel导入导出工具类基于EasyExcel
java开发excel导入导出工具类基于EasyExcel
16 1
|
21小时前
|
监控 Java 开发者
使用Java开发微服务架构的挑战与解决方案
使用Java开发微服务架构的挑战与解决方案
|
1天前
|
前端开发 Java 开发工具
Java GUI编程:跨平台应用的设计与开发
Java GUI编程:跨平台应用的设计与开发
|
1天前
|
自然语言处理 Java
Java中的行为驱动开发(BDD)实践
Java中的行为驱动开发(BDD)实践
|
1天前
|
设计模式 Java 测试技术
Java后端开发的最佳工程实践与规范
Java后端开发的最佳工程实践与规范