1.package(包):
java中当编译器在编译时,根据package后的目录存放即将生成的class文件。
package后的目录:
存放后的:
2.block(块)——》{ }
- 是一个作用域
- 分为两种:a.写在方法中的(普通语句块或局部代码块),执行时间是方法调用的时候(构造块中的代码先于构造器中的代码之前执行,因为编译的时候编译器会自动把构造块中的代码编译到构造器代码之前)
- b.写在类中方法外(构造块),执行时间是创建对象时。
- static{ } 写在类中方法外,叫静态块,执行时间是类加载时。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。
执行顺序: 静态块——main——构造块——构造器
3.private关键字:
目的:为了解决安全隐患比如对age传入一个负数——私有的,只能在当前本类中使用,外部类中无法使用——属性一旦私有,就要配合设置器和访问器使用 setter getter,公共的方法
好处: a.提高代码的复用性 b.提高代码的安全性
4.继承
目的:使用简单,子类一旦继承父类可以使用父类中所有的内容,一个父类可以有很多子类,但一个子类只有一个父类。
缺点: 不便于后期维护
5.权限修饰符
- default关键字默认的,省略不写
- 能够修饰类的只能为public | default
- 能够使用被protected修饰的内容的方式:1.同包下的2.不同包的子类中才能使用,并且必须通过子父类之间继承的关系使用才可以
6.重写
检测方法重写的方式: 1.左侧会出现向上的三角形 2.@Override 注解强制检查重写方法
注意:
- 被private修饰的方法不能被重写
- 被final关键字修饰的方法不能被重写
- 被static修饰的方法不能被重写
- 如果子类中有与父类中的某个静态方法同名的时候,那这个方法也要为static修饰的
7.super关键字:(指代父类对象)
- 调用父类的构造器——super()若没显示定义,默认首行调用super()父类空构造,建议模板类至少存在一个空构造;
- super()必须在首行,必须放在子类的构造器里
- 区分子父类同名:例如子父类都有变量a,在子类调用父类的a需要super.a进行调用。