Java中常用关键字总结(足以应对无聊面试官)

Java中常用关键字总结(足以应对无聊面试官),第1张

Java中常用关键字总结(足以应对无聊面试官) 1.常用关键字汇总 访问权限修饰符Publicdefault(并无该修饰符,默认啥也不写)protectedprivate异常处理关键词trycatchfinalllythrowthrows包的关键词packageimport有关实例的关键词newthissuperinstanceof类之间关系的关键词implementsextends定义类,函数,变量的关键词abstractfinalstaticsynchronized

2.访问权限修饰符  修饰符当前类同包子类其他包publicYYYYprotectedYYYNdefault(默认,不写)YYNNprivateYNNN

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5694242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存