修饰符的范围+运算符优先级+构造方法特点+switch参数

一、修饰符的范围

修饰符的范围,是否可访问:

类型 private 无修饰 protected public
同一类
同一包中的子类
同一包中的非子类
不同包中的子类
不同包中的非子类

( 1 )对于外部类而言,它也可以使用访问控制符修饰,但外部类只能有两种访问控制级别: public 和默认。因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此 private 和 protected 访问控制符对外部类没有意义。

( 2 )内部类的上一级程序单元是外部类,它具有 4 个作用域:同一个类( private )、同一个包( protected )和任何位置( public)。

( 3 ) 因为局部成员的作用域是所在方法,其他程序单元永远不可能访问另一个方法中的局部变量,所以所有的局部成员都不能使用访问控制修饰符修饰。

  • 普通类(外部类):只能用public、default(不写)、abstract、final修饰。
  • (成员)内部类:可理解为外部类的成员,所以修饰类成员的public、protected、default、private、static等关键字都能使用。
  • 局部内部类:出现在方法里的类,不能用上述关键词来修饰。
  • 匿名内部类:给的是直接实现,类名都没有,没有修饰符。

 二、运算符优先级

运算符优先级:单目乘除位关系,逻辑三目后赋值。

优先级 运算符 名称 结合性
1 (),[]   从左到右
2 !,+(正),-(负),~,++,-- 单目运算符 从左到右
3 *,/,% 算术乘除 从左到右
4 +,- 算术加减 从左到右
5 <<,>>,>>> 位运算 从左到右
6 <,<=,>,>=,instanceof 关系运算符 从左到右
7 ==,!=   从左到右
8 & 按位与 从左到右
9 ^ 按位异或 从左到右
10 | 按位或 从左到右
11 && 逻辑与 从左到右
12 || 逻辑或 从左到右
13 ?: 三目运算符 从右到左
14 =,+=,-=,*=,/=,%=,&=,|=,^=,~=,<<=,>>=,>>>= 赋值运算符 从右到左

三、构造方法特点

1.类中的普通方法可以和类名同名。

2.构造方法由new调用,不能由程序的编写者调用,只能由系统调用。

3.构造方法不能被继承。

4.子类可通过super()显示调用父类的构造方法

四、switch参数

1.byte,short,char,int及对应的包装类。

2.Enum类型。

3.String。

原文地址:https://www.cnblogs.com/cing/p/8178882.html