JAVA第四章小结2

本文详细介绍了Java中final关键字的三种用法:修饰属性、方法和类,强调了其在防止修改、保证安全性和正确性方面的作用。同时,讨论了Java中一维数组的声明和初始化,指出float[10]arr这样的声明是错误的,并举例说明了基本类型和引用类型数组的区别。
摘要由CSDN通过智能技术生成

1.Java中final修饰符都有什么作用?请举例说明

>>final修饰属性,则属性为常量;  

final int NUM = 20;    

   NUM = 30; // 编译错误

>>修饰方法,则该方法在子类当中不能被覆盖,可防止任何继承类修改此方法,保证了程序的安全性和正确性。

class Parent {
     public final void method1(){}//这个方法不能被子类覆盖    
} 
class Child extends Parent { 
     public final void method1(){…}//编译错误
}

>>修饰类,则该类不能被继承

class Parent {
            }
            final class Person extends Parent{
            } //可以继承Parent类        
           class Child extends Person{
           } //编译报错,不能继承Person类

2.Java中float[10] arr; 语句正确么?为什么?

不正确

关于一维数组:

正确声明: int [ ]  arr;          

                 String [ ]  example;  

                  myClass [ ]  mc ;  

注意:此时仅声明了引用变量,并未产生数组对象

正确初始化:1.int[] a= new int[10];

                       2. int[] a = {3,4,5,6};

                      3.  float[] f4= new float[] { 1.0f, 2.0f, 3.0f}; 

                          或  float[] f4;

                             f4= new float[] { 1.0f, 2.0f, 3.0f};

常见错误:int[] a ; a= {3,4,5,6};

                   int[10] a;

3.Java数组元素类型为基本类型和引用类型时,有什么不同?请举例说明

对于基本类型数组而言,数组元素的值直接存储在对应的数组元素中,因此,初始化数组时,先为该数组分配内存空间,然后直接将数组元素的值存入对应数组元素中。

例如:

1.int[] a = {3,4,5,6};

2.int[] arr = new int[10];  //在堆上为数组对象分配10个整型元素空间,每个元素初始化为默认值0

引用类型数组的数组元素是引用,因此情况变得更加复杂:每个数组元素里存储的还是引用,它指向另一块内存,这块内存里存储了有效数据。

例如:

String[] example = new String[10];  //对象引用数组 。  产生一个具有10个单元的数组对象,每个单元存放的是1个String对象的引用,所有单元的初值为默认值null,此时并未创建具体的String对象。

 for(String x: example)
       System.out.println(x);    // 输出结果为10个null
      
        System.out.println(xample[0]. length());  // 抛出 NullPointerException异常

     修改:example[0] = new String(“ab”); //创建String对象,赋值给example[0], 此时example的第一个元素指向String对象,从而可以操纵String对象 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值