java基础学习 day45(包,final,常量)

  1. 什么是包
  • 包就是文件夹,用来管理各种不同功能的java类,方便后期代码维护
  • 包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意。com.nuist.domain
    package com.nuist.domain;
    //表名当前类的路径,定义在com.nuist.domain包当中,且idea自动生成
  1. 什么时候需要导包?什么时候不需要导包?
  • 使用同一个包中的类时,不需要导包
  • 使用java.lang包中的类时,不需要导包
  • 其他情况都需要导包。
    import com.nuist.domain.Student;
    //表示本类中的所有Student类,都是com.niust.domain这个包当中的
  • 如果同时使用两个包中的同名类,需要使用全类名
  • 全类名/全限定名:包名+类名com.nuist.domain.Student
  1. final
  • final修饰方法:表明该方法是最终方法,不能被重写。如果当前方法是一种规则,且不希望别人去改变,那么这个方法就可以用final来修饰。
  • final修饰类:表明该类是最终类,不能被继承。如果当前类中所有的方法,都不想别人重写,那么这个类就可以用final来修饰
  • final修饰变量:表明该变量是常量,必须在定义时就进行赋值,且只能被赋值一次,不能再进行更改。
  1. 常量
  • 实际开发中,常量一般作为系统的配置信息,方便维护,提高可读性
  • 常量的命名规范:
    a. 单个单词:全部大写
    b. 多个单词:全部大写,单词之间用下划线隔开
  • 细节:
    a. final修饰的变量是基本类型:变量存储的数据值不能发生改变
    b. final修饰的变量是引用类型:变量存储的地址值不能发生改变,但地址所指向的空间,空间里的内容可以改变
    c. 核心:常量记录的数据是不能发生改变的

例如:字符串不能改变
原因:字符串的内容是存储在一个名为value的byte类型的数组中,这个数组是被final修饰的,所以value记录的地址值不能改变,且这个数组还是被private修饰的,string类也没有提供get(),set()方法,所以外界也获取不了value记录的地址值,也就不能对这个地址所指向的内容进行修改,综上,字符串不能改变。

你可能感兴趣的:(java,学习)