| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java中常用关键字总结(足以应对无聊面试官) -> 正文阅读 |
|
[Java知识库]Java中常用关键字总结(足以应对无聊面试官) |
1.常用关键字汇总
? 2.访问权限修饰符?
注:Y(可以),N(不可以) 无需文字多言,只需记住上图规律,用时想图即可 3.异常处理关键字3.1.异常简记? ??????????程序从编写代码到上线运行,分为编辑阶段和运行阶段,在每个阶段中都可能会出现一些问题,称为异常 ????????异常根据软硬件的区分又分为错误【error】和异常【exception】,异常体系最大的类Throwable,一般error不是程序员考虑的问题,我们需要考虑的是exception 3.2.异常的处理方案(简单理解)? ? ? ??3.2.1.自己处理(代码编写者处理)? ? ? ? ? ? ? ? try&catch&finally 单个异常处理:
多个异常处理: ? ? ? ? 多catch处理:
? ? ? ? ?直接catch(更大范围的异常):
????????finally 关键字可加可不加,如果有需求(无论结果如何,某段代码最后得实现)
? ? ? ? 3.2.2.谁用谁处理(调用者处理)? ? ? ? ? ? ? ? throw,throws ■throw 抛出异常 ■throws 声明异常 ? ? ? ? 注:如果该方法中有多个异常需要抛出,在声明的时候使用逗号隔开
疑问??? 什么时候应该捕获,什么时候需要抛出? 简单理解:由于调用者导致的问题,应该抛出去,如果是方法本身就存在的问题,那应该捕获 4.包的关键字(了解)■package(包): 1、标注某个类的来源(简单理解) ■import(引入): 1、若有多个工程多个项目,有重复的类名,虽说影响可能性不大但是有不确定性,用import来避免不确定性 2、import 关键字使一个包中的一个或所有类在当前 Java 源文件中可见 5.有关实例的关键字■new:创建实例(简单理解) ■this:代指当前对象(简单理解) ■super:代指父类对象(简单理解) ■instanceof:判断该实例是否是该类型,返回boolean类型(简单理解) 5.1.new1.用于创建类的新实例,例Object obj = new Object(); 2.new关键字后面必须是类名加构造方法参数(带括号) 3.=左侧的类型必须要与实例化的类或接口有赋值兼容关系 5.2.this? ? ? ? 用于引用当前实例,当引用可能不明确,这时最好用this代表 5.3.super? ? ? ? 1.代表引用super关键字的类的超类 ? ? ? ? 2.代表了父类空间的引用 ? ? ? ? 3.子类中访问同名的属性或方法时,默认用的是子类的属性或方法,若要用父类的方法可用super.接方法(属性)进行调用 5.4.instanceof
????????instanceof 严格来说是
Java
中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
????????其中 obj
为一个对象,
Class
表示一个类或者一个接口,当
obj
为
Class
的对象,或者是其直接或 间接子类,或者是其接口的实现类,结果result
都返回
true
,否则返回
false
。
6.类之间关系的关键字? ? ? ? ■extends ????????在类的声明中,通过extends来继承一个类,注意Java最多只能继承一个类
? ? ? ? ■implements ????????实现接口, 接口的方法一般为空的, 必须重写才能使用,implements可以实现多个接口,声明实现接口时要将多个接口以逗号隔开
7.定义类,函数,变量的关键字■abstract(抽象,简单了解) 1.被修饰的类为抽象类,抽象类不可实例化,可以通过方法的覆盖来实现多态的属性,抽象类将事物的共性的东西提取出来,由子类继承去实现,代码易扩展、易维护 2.被修饰的方法为抽象方法,没有默认实现(实体),抽象方法不能用private修饰,因为抽象方法必须被子类实现(覆写),而private权限对于子类来 说是不能访问的,所以就会产生矛盾 3.需注意,采用 abstract方法的类本来就是抽象类,并且必须声明为abstract ■final(最终) 1.对于一个final变量,若是基本数据类型,其数值初始化后不可变;若是引用类型,初始化后不可再指向另一个对象 2.final修饰的类,表明该类不可被继承,且该类中的所有成员方法都会被隐式地指定为final方法 3.使用final类的原因有两个,一是把方法锁定,以防任何类继承;第二个是效率(早期java会将final方法转为内嵌调用,先版本已经不需要这些优化)---记着无用,但是面试时候会显得更牛x些 ■static(静态,简单记) 1.static可以用在成员变量,代码块,内部类及成员方法 2.static方法不属于对象,可以用类名直接调用,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享 3.静态代码块随着类的加载而执行,只执行一次,用处不多,例需要统计一下类加载时候的日志信息,就可以将这部分代码语句写在static静态代码块里面 4.)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变,在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 5.static(内部)类可以被其他类实例化和引用(即使它是顶级类) ■synchronized(线程、同步) 1.用于需要用到同步的方法或语句块,保证线程安全 2.synchronized关键字防止被选中的代码的线程安全 3.用于实例方法(静态方法),执行时该实例(类)将被锁定 注:synchronized很重要,建议线程方面加强学习,日后工作开发中线程安全是很重要的问题,这里只大致叙述以对付无聊的面试官,希望对你们有所帮助..... |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:27:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |