百宝箱:奇奇怪怪的问题

目录

        问题一、static和final在使用时的不同

        1、static用来修饰变量、方法、代码块;而final用来修饰变量、方法、类。

        2、static关键字

        3、this关键字

        4、final关键字

        问题二、Java代码 for(int i: intArr) 是什么意思?

        问题三、instanceof关键字什么意思?用在什么地方?


        问题一、static和final在使用时的不同

 这里只做总结,详细的讲解可以移步至  

static关键字:Java中的static关键字解析 - Matrix海子 - 博客园

this关键字:Java中this关键字使用小结 - zheting - 博客园 

final关键字:浅析Java中的final关键字 - Matrix海子 - 博客园

        1、static用来修饰变量、方法、代码块;而final用来修饰变量、方法、类。

        2、static关键字

        2.1、static修饰的变量(称作静态变量),可以在其他类中直接通过 “类名.变量名共享使用。与之相对的非静态变量,必须依赖实例化对象调用。

        2.2、static修饰的方法(称作静态方法),可以在静态方法或者非静态方法中访问静态方法,而静态方法中不能调用非静态成员(方法 / 变量)。static方法中没有this,因为静态方法不用依赖任何对象来调用,是直接通过 “类名.方法名” 访问。

        2.3、static修饰代码块,代码块只会在类加载的时候执行一次,并且只执行一次。

        3、this关键字

        this关键字是什么:当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。

        4、final关键字

        4.1、final修饰变量,如果final修饰的变量是基本数据类型,那么这个变量作常量使用;如果final的变量是引用数据类型,那么初始化后不能再指向其他对象。

        4.2、final修饰方法,该方法被继承后(最终方法)不能再进行修改。

        4.3、final修饰类,该类不能被继承,其中的方法也成了final方法。

        问题二、Java代码中的 for(int i: intArr) 是什么意思?

        示例:

static int[] nums = new int[]{1,2,3,4};
public static void main(String[] args) {
    for (int i: nums){
        System.out.println(i);
    }
}

        与下面的代码同义:

static int[] nums = new int[]{1,2,3,4};
public static void main(String[] args) {
    for (int i=0;i<nums.length;i++){
        System.out.println(i);
    }
}

        前者的for循环,叫做增强for循环,是一个简化版迭代器,在示例中的意思是遍历变量名nums的数组,每次遍历的对象都用 i 接收。

        需要注意的是,增强for循环有遍历的目标,而普通for循环没有。


       增强for循环语法格式如下:

for(声明语句 : 表达式)
{
   //代码句子
}

        声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

        表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

        问题三、instanceof关键字什么意思?用在什么地方?

        instanceof关键字是用来判断一个对象是否为一个类的实例。语法格式如下:

boolean result = obj instanceof Class

        具体的使用请参考链接:Java关键字(一)——instanceof - YSOcean - 博客园
 

猜你喜欢

转载自blog.csdn.net/weixin_60808029/article/details/121124355