Java程序的标识符和关键字
什么是标识符:java程序的组成,⽐如类名、⽅法名、变量名等
注意点: 标识符可以由字母、数字、下划线_ 、美元符($)组成,但不能包含%,空格等其他特殊字符,不能以数字开头 区分⼤小写 * 不能是java关键字
* 合法的标识符:age, User, _Student, $Boy, _1_value
* 不合法的标识符:#age, 8User, my friend, class, if
什么是Java关键字: 是电脑语⾔里事先定义的,有特别意义的标识符,有时又叫保留留字,关键字不能用作变量名、⽅法名、类名、包名和参数
boolean、byte、char、double、enum、float、int、long、short、void private、protected、public、default、abstract、extends、class、interface、return、static、super assert、break、case、try、catch、const、continue、do、else、final、finally、 for、goto、if、implements、import、instanceof、native、new、package、switch、synchronized 、this、throw、throws transient、volatile、while
java修饰符和使用场景
访问修饰符
限定类、属性或⽅法是否可以被程序⾥的其他部分访问和调⽤的修饰符
private < default < protected < public
非访问修饰符
⽤来修饰或者辅助功能
例如static、final、abstract、synchronized等
外部类修饰符: public或者为默认
方法、属性修饰符:private、default、protected、public
public - 公开对外部可⻅
protected - 对包和所有⼦类可⻅
private - 仅对类内部可⻅
总结
类,方法,属性都遵从以下规则
修饰符 | 当前类 | 同⼀包内 | 不同包中的⼦类 | 不同包的非子类 |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
default方法被不同包调用
default类被不同包调用
default方法,类被同包调用
protected方法被非同包调用可以用继承
protected方法只能被当前类调用
java修饰符使用场景
属性或者成员变量,都用private修饰,不用其他的,这个是java开发的约束
Java中public class与class的区别
在一个*.java的文件中,只能有一个public class的声明,有多个public则编译报错,其类名称必须与文件名称完全一致,但是允许有多个class的声明
只有public修饰的类,才能在包外部包可见;否则只是包内私有的类,类不能被其他包访
问