IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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.常用关键字汇总

访问权限修饰符Publicdefault(并无该修饰符,默认啥也不写)protectedprivate
异常处理关键词trycatchfinalllythrowthrows
包的关键词packageimport
有关实例的关键词newthissuperinstanceof
类之间关系的关键词implementsextends
定义类,函数,变量的关键词abstractfinalstaticsynchronized

?

2.访问权限修饰符?

修饰符当前类同包子类其他包
publicYYYY
protectedYYYN
default(默认,不写)YYNN
privateYNNN

注:Y(可以),N(不可以)

无需文字多言,只需记住上图规律,用时想图即可

3.异常处理关键字

3.1.异常简记? ??

????????程序从编写代码到上线运行,分为编辑阶段和运行阶段,在每个阶段中都可能会出现一些问题,称为异常

????????异常根据软硬件的区分又分为错误【error】和异常【exception】,异常体系最大的类Throwable,一般error不是程序员考虑的问题,我们需要考虑的是exception

3.2.异常的处理方案(简单理解)

? ? ? ??3.2.1.自己处理(代码编写者处理)

? ? ? ? ? ? ? ? try&catch&finally

单个异常处理:

try{
    //可能出现问题的代码
    int a = 1/0;
} catch(ArithmeticException exception){
    //处理方案
    exception.printStackTrace();
}
System.out.println("--over--");

多个异常处理:

? ? ? ? 多catch处理:

try{
    print(null);
    //可能出现问题的代码
    int a = 1/0;
} catch(ArithmeticException exception){
    //处理方案
    exception.printStackTrace();
} catch(NullPointerException exception){
    exception.printStackTrace();
}
System.out.println("--over--");

? ? ? ? ?直接catch(更大范围的异常):

try{
    print(null);
    //可能出现问题的代码
    int a = 1/0;
}catch(Exception exception){
    exception.printStackTrace();
}

????????finally 关键字可加可不加,如果有需求(无论结果如何,某段代码最后得实现)

try{
    print(null);
    //可能出现问题的代码
    int a = 1/0;
}catch(Exception exception){
    exception.printStackTrace();
}finally{
    System.out.println("I hate BUG!!!");
}

? ? ? ? 3.2.2.谁用谁处理(调用者处理)

? ? ? ? ? ? ? ? throw,throws

■throw 抛出异常

■throws 声明异常

? ? ? ? 注:如果该方法中有多个异常需要抛出,在声明的时候使用逗号隔开

public void print(int[] arr,int index) throws NullPointerException,ArrayIndexOutofBoundsException {
    if(arr == null){
        throw new NullPointerException();
    }
    if(index >= arr.length){
        throw new ArrayIndexOutofBoundsException();
    }
}

疑问???

什么时候应该捕获,什么时候需要抛出?

简单理解:由于调用者导致的问题,应该抛出去,如果是方法本身就存在的问题,那应该捕获

4.包的关键字(了解)

■package(包):

1、标注某个类的来源(简单理解)
2、package 语句(如果出现)必须是 Java 源文件中的第一个非注释性文本。

■import(引入):

1、若有多个工程多个项目,有重复的类名,虽说影响可能性不大但是有不确定性,用import来避免不确定性

2、import 关键字使一个包中的一个或所有类在当前 Java 源文件中可见

5.有关实例的关键字

■new:创建实例(简单理解)

■this:代指当前对象(简单理解)

■super:代指父类对象(简单理解)

■instanceof:判断该实例是否是该类型,返回boolean类型(简单理解)

5.1.new

1.用于创建类的新实例,例Object obj = new Object();

2.new关键字后面必须是类名加构造方法参数(带括号)

3.=左侧的类型必须要与实例化的类或接口有赋值兼容关系

5.2.this

? ? ? ? 用于引用当前实例,当引用可能不明确,这时最好用this代表

5.3.super

? ? ? ? 1.代表引用super关键字的类的超类

? ? ? ? 2.代表了父类空间的引用

? ? ? ? 3.子类中访问同名的属性或方法时,默认用的是子类的属性或方法,若要用父类的方法可用super.接方法(属性)进行调用

5.4.instanceof

????????instanceof 严格来说是 Java 中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class
????????其中 obj 为一个对象, Class 表示一个类或者一个接口,当 obj Class 的对象,或者是其直接或 间接子类,或者是其接口的实现类,结果result 都返回 true ,否则返回 false

6.类之间关系的关键字

? ? ? ? ■extends

????????在类的声明中,通过extends来继承一个类,注意Java最多只能继承一个类

public class Dog extends Animal{
	/**
	 * dog的特有功能:看门
	 */
	public void lookDoor() {
		System.out.println(getName()+"看门有一手");
	}
}

? ? ? ? ■implements

????????实现接口, 接口的方法一般为空的, 必须重写才能使用,implements可以实现多个接口,声明实现接口时要将多个接口以逗号隔开

public class Computer implements IUsb,XXX{
    @Override
    public void joinMouse(){
        System.out.println("接入一个牧马人鼠标");
    }
    
    @Override
    public void joinKeyBoard(){
        System.out.println("接入一个青轴键盘");
    }
}

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很重要,建议线程方面加强学习,日后工作开发中线程安全是很重要的问题,这里只大致叙述以对付无聊的面试官,希望对你们有所帮助.....

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 15:56:35  更:2022-01-03 15:57:33 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码