Java关键字跟Swift有基本一样
四大访问权限控制:
这四个修饰符,都可以修饰变量,方法.
定义类的时候,使用public,不写.
① private(类访问权限):使用private修饰的成员(字段,方法,构造器),就只能在当前类中范围.
② 什么都不写(缺省/包访问权限):此时只有在同一个包中,才可以访问的到,若不在同包中,不能访问.
③ protected(子类访问权限):即使父类和子类不在同一个包中,也可以访问.
④ public(公共访问权限):在任何地方都可以访问到.
final修饰符:
final: 表示"最终的",不能改变的.
是一个修饰符,可以修饰类,方法,变量.
-------------------------------------------------------------------
final 类: 最终 类.
final方法: 最终方法.
final变量: 最终变量.
-------------------------------------------------------------------
final 类: 最终 类,该类不能有子类.
只要满足以下条件就可以把一个类设计成final类:
① 某类不是专门为继承而设计。
② 出于安全考虑,类的实现细节不许改动。
③ 确信该类不会再被拓展。
面试题:java里final修饰的类有很多,比如八大基本数据类型保证类和String等。
-------------------------------------------------------------------
final方法: 最终方法,该方法不能被子类所覆盖.
什么时候把方法设计为final的呢?
1):父类在构造器中调用的初始化方法.
2):父类中提供好的算法业务操作,只应该让子类调用,不能被子类继承.
-------------------------------------------------------------------
常量:
1):字面量,直接量,直接给出一个值. 123,"AA",3.14;
2):使用final修饰的变量.
final是所有修饰符中唯一可以修饰局部变量的修饰符.
--------------------------------------------------------------------------
final变量: 最终变量--->常量,值不能再改变,只能赋值一次.
变量的起名规则:使用名词表示,首字母小写,使用驼峰表示法(以后的每个单词首字母大写.)
常量的起名规则:全部有大写字母组成,若是多个单词组成,则以下划线分割.
最大值:MAX_VALURE,最小值:MIN_VALUE.
final修饰基本类型常量:
final int age = 17;//age变量只能被赋值一次.
final修饰引用类型常量:
final User user = new User();
问题:是user对象中的数据不能改变,还是user的引用地址不能改变.
user所引用堆空间的内存地址值,不能改变.
--------------------------------------------------------------------------
什么时候使用常量:
当一个变量,值不会改变,并且在多个类中都会被使用到,就可以提取为常量.
举例: 表示围棋的一行,一竖有多少个格子.
对于常量,有时候,我们也习惯专门提取到工具类中,或者常量类中.
--------------------------------------------------------------------------
拓展:局部内部类只能访问final修饰的局部变量.