条框好多,不过好处是好理解
Topic source类的声明有:public、final、abstract、以及inrerface和无声明,
字段的声明有:public、private、protected、final、static和无声明,其中前三者加上无声明都互斥,接口的字段必为static 和final声明。
方法的声明有:public、private、protected 、final、static和无声明,其中前三者加上无声明都互斥,抽象类还有abstract 方法声明,接口的方法还有default声明,除了default方法外都是abstract方法
public声明意味无限制字段可以被动态修改访问和继承,方法可以被使用和继承
无声明意味着默认package作用域,该作用域内字段可以被动态访问和修改和继承,方法可以被使用和继承
private声明意味着只有在定义对象的作用域内字段可以被访问和修改、方法可以被使用,且都不可被继承
protected声明意味着只有在定义对象的作用域内字段可以被访问和修改,方法可以被使用,但是可以被子类继承
static声明意味着该字段或方法为类层面的存在,静态字段值被所有实例共享,静态方法无需实例即可使用
final声明意味着该存在一旦实体化就不可被修改、对类而言不可被继承。但是如果没有增加private或protected声明,则是可在作用域动态访问的。
abstract声明意味着该类或方法无实质内容,仅用于为子类增加约束,由于abstract的存在就是设计来被继承的,所以与private互斥
- 1
alienation
不像JS,完全没有约束,但是也完全搞不懂