Loading

09、三个修饰符

1、abstract

1.1、什么是抽象

  似是而非的,像却又不是;具备某种对象的特征,但不完整。

1.2、不该被创建的对象

 

1.3、抽象类

  应用: abstract修饰类,此类不能new对象。

 

1.4、抽象类的作用

 

1.5、不该被实现的方法

 

1.6、抽象方法

 

1.7、总结

1、abstract修饰类 : 不能new对象,但可以声明引用。

2、abstract修饰方法 : 只有方法声明,没有方法实现。(需包含在抽象类中)

3、抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。

4、子类继承抽象类后,必须重写父类中所有的抽象方法,否则子类还是抽象类。

2、static

2.1、实例属性

  实例属性是每个对象各自持有的独立空间(多份),对象单方面修改,不会影响其他对象。

 

2.2、静态属性

  静态属性是整个类共同持有的共享空间(一份),任何对象修改,都会影响其他对象。

 

2.3、什么是静态

  1、静态(static)可以修饰属性和方法。

  2、称为静态属性(类属性)、静态方法(类方法)。

  3、静态成员是全类所有对象共享的成员。

  4、在全类中只有一份,不因创建多个对象而产生多份。

  5、不必创建对象,可直接通过类名访问

2.4、静态方法

2.5、静态的特点

1、静态方法允许直接访问静态成员。

2、静态方法不能直接访问非静态成员。

3、静态方法中不允许使用this或是super关键字。

4、静态方法可以继承,不能重写、没有多态。

2.6、类加载

JVM首次使用某个类时,需通过CLASSPATH查找该类的.class文件。

将.class文件中对类的描述信息加载到内存中,进行保存。

  如:包名、类名、父类、属性、方法、构造方法.…

加载时机:

  创建对象。

  创建子类对象。

  访问静态属性。

  调用静态方法。

  主动加载:Class.forName(“全限定名”);

2.7、静态代码块

 

2.8、动态代码块

 

2.9、对象创建过程

 

2.10、带有继承的对象创建过程

 

2.11、总结

  static修饰的成员为静态成员,无需创建对象,可直接通过类名访问。

  静态方法不能直接访问非静态成员

  静态方法中不能使用this或super.

  静态方法可以继承、不能重写、没有多态。

  静态代码块在类加载时被执行,且只执行一次

3、final

3.1、什么是最终

概念: 最后的,不可更改的

final可修饰的内容:

  类(最终类)

  方法(最终方法)

  变量(最终变量)

3.2、final类

final修饰类: 此类不能被继承

  String、Math、System均为final修饰的类,不能被继承。

final修饰方法: 此方法不能被覆盖。

  意为最终方法,不支持子类以覆盖的形式修改。

3.3、final变量

  final修饰变量: 此变量值不能被改变(常量)

 

3.4、实例常量

 

3.5、静态常量

 

3.6、对象常量

 

3.7、总结

final修饰类: 此类不能被继承。

final修饰方法: 此方法不能被覆盖。

final修饰变量: 此变量值不能被改变。(无初始值、只允许赋值一次)。

  局部常量:显示初始化。

  实例常量:显示初始化、动态代码块、构造方法。

  静态常量:显示初始化、静态代码块。

  基本类型常量:值不可变。

  引用类型常量:地址不可变。

 

posted @ 2021-09-02 00:37  菜鸟的道路  阅读(96)  评论(0)    收藏  举报