修饰符的范围+运算符优先级+构造方法特点+switch参数
2024-08-30 04:04:04
一、修饰符的范围
修饰符的范围,是否可访问:
类型 | 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。
最新文章
- [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作
- SQL增删改语句常用
- 题目一:打印出所有的 ";水仙花数 ";,所谓 ";水仙花数 ";是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 ";水仙花数 ";,因为153=1的三次方+5的三次方+3的三次方。
- gradlew解决jar或class冲突
- 重学OpenGL(一)----工具篇
- Configure the Struts Tag Libraries
- 《RPM源码包的制作》RHEL6
- WebBrowser控件跨域访问页面内容
- idea sass scss配置
- pojAGTC(LCS,DP)
- chrome(转)
- 2019秋招Java面经(未完待续)
- 【转】干货 | 【虚拟货币钱包】从 BIP32、BIP39、BIP44 到 Ethereum HD Wallet
- C51汇编典型代码&;一些org-mode技巧
- Appium下载安装及环境配置
- Linux基础命令---切换用户su
- git download error processing
- python 字符串与字节之间的相互转化
- jQuery-对标签的样式操作
- shell脚本备份日志