目录
Java语言发展
Java基础语法
Java流程控制
Java方法
Java数组
面向对象
异常
Java常用类
集合框架
IO流
多线程
网络编程
GUI
Java SE(Java Standard Edition,Java标准版)是Java技术的核心和基础,也是Java ME和Java EE编程的基础。Java SE是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
Java SE提供了一个程序开发环境,包括开发与运行Java软件的编译器等开发工具、软件库及Java虚拟机。它也为企业版(Java EE)和网页服务(Java ME)提供了基础。Java SE的主要特点和应用场景是允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。此外,Java SE还包括了支持Java Web服务开发的类,并为Java EE提供基础。
Java SE具有三大特性:封装、继承、多态。封装是指将对象的内部状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类提供的方法进行操作。继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以定义自己特有的属性和方法。多态则是同一个行为具有多个不同表现形式或形态的能力。
Java SE的版本发展历史也十分丰富,从最初的JDK Beta版本,到JDK 1.0的稳定版本,再到后续的J2SE、Java SE 6、Java SE 7、Java SE 8等,每个版本都带来了不同的特性和改进。
总的来说,Java SE作为Java技术的核心和基础,广泛应用于各种环境和场景中,为Java技术的发展和应用提供了坚实的基础。
avaSE思维导图
Java语言发展
解释型语言:Python
Java基础语法
修饰符:
public/private/protect/ default的区别
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不 仅可以跨类访问,而且允许跨包(package)访问。
2.private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。3.protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护 形”。被其修饰的类,属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问
4.default:即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。
- 作用域 当前类 同包下 子孙类 其他包
- public ✔ ✔ ✔ ✔
- protect ✔ ✔ ✔
- default ✔ ✔
- private ✔
那么什么情况该用什么修饰符呢?
从作用域来看,public能够使用所有的情况。 但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢?属性通常使用private封装起来
方法一般使用public用于被调用
会被子类继承的方法,通常使用protected
package用的不多,一般新手会用package,因为还不知道有修饰符这个东西
再就是作用范围最小原则
简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了
Unicode与utf-8的区别
Unicode定义了字符的唯一编号,而UTF-8则是将这些编号转换为计算机可以理解和处理的字节序列的编码方式。两者结合使用,使得各种语言字符能够在计算机系统中进行高效且统一的存储、处理和交换1
转义字符(Escape character)
是一种特殊的字符序列,它在程序中表示不能直接显示的ASCII字符,如控制字符或一些特殊符号。转义字符以反斜杠(\)开头,后面跟着一个或几个字符,这些字符在转义后具有特殊的含义。
以下是一些常见的转义字符及其含义:
- \n:换行符,将光标移动到下一行的开头。
- \t:制表符,将光标移动到下一个制表位置,通常相当于8个空格。
- \v:垂直制表符,使光标垂直向下移动。
- \b:退格符,将光标移动到前一个字符的位置。
- \r:回车符,将光标移动到当前行的开头。
- \f:换页符,使光标移动到下一页的开头。
- \:反斜杠字符,用于表示转义字符的开头。
- ':单引号字符。
- ":双引号字符。
- \a:响铃符,使计算机发出警告声音。
- \ddd:1到3位的八进制数所代表的字符。
- \xhh:1到2位的十六进制数所代表的字符。
需要注意的是,不同的编程语言或系统可能对某些转义字符的解释有所不同,因此在使用时应根据具体环境进行参考。此外,转义字符只能看作一个字符,不能将其中的多个字符分开解释。
Java流程控制
Java方法
Java数组
instanceof
是 Java 中的一个关键字,它用于检查一个对象是否是指定类型的实例或其子类的实例。而关于类型转换,Java 提供了两种类型的转换:向上转型(Upcasting)和向下转型(Downcasting)。向上转型(Upcasting)
向上转型是将子类的对象转换为父类类型的对象。这种转换是自动的,也是安全的,因为子类对象可以看作是其父类的一个实例。例如:
java
class Parent {} class Child extends Parent {}Child child = new Child(); Parent parent = child; // 向上转型,自动且安全
向下转型(Downcasting)
向下转型是将父类对象转换为子类类型的对象。这种转换不是自动的,因为不是所有的父类对象都可以被安全地转换为子类对象。在进行向下转型之前,我们需要使用
instanceof
关键字来检查对象是否真的是子类的一个实例。如果是,那么转换就是安全的,否则将抛出ClassCastException
。例如:java
class Parent {} class Child extends Parent {}Parent parent = new Parent();// 检查对象是否是 Child 类型的实例 if (parent instanceof Child) { Child child = (Child) parent; // 向下转型,需要显式转换 } else { System.out.println("parent is not an instance of Child"); }
在上面的例子中,
parent
是一个Parent
类型的对象,而它实际上并不是Child
类型的实例,所以尝试进行向下转型将会失败,并抛出异常。注意事项
- 只有在确信对象实际是目标类型的实例时,才应使用
instanceof
和向下转型。- 尽量避免不必要的类型转换,因为这可能会增加程序的复杂性和出错的可能性。
- 在进行类型转换时,应始终考虑异常处理,以应对可能的
ClassCastException
。总结
instanceof
关键字在 Java 中用于类型检查,它可以帮助你确定一个对象是否可以安全地转换为特定的类型。在使用instanceof
进行类型检查后,如果确认对象是该类型的实例,你可以使用向下转型将其转换为该类型的对象。然而,向下转型应谨慎使用,因为错误的转换可能导致运行时异常。
面向对象
异常
Java常用类
集合框架
IO流
多线程
网络编程
GUI
注解和反射