增强day01-面向对象高级1

  1. 关于static的说法
    1. 一个类中可以没有静态变量
    2. 一个类中可以定义多个静态变量
    3. 静态的加载优先于对象,随着类的加载而加载
    4. 被static修饰的变量属于类,这个类的所有对象都可以使用
  2. 关于继承的描述
    1. 子类会继承父类的所有非私有成员,包括构造器、方法和属性
    2. Java中继承是单继承,一个类只能有一个直接的父类
    3. 如果子类和父类有重名的成员变量或者成员方法,这时访问父类需要用super
  3. 关于方法重写的描述
    1. 要有子类继承或实现
    2. 子类方法的权限必须大于等于父类的权限
    3. 子类重写父类的方法, 重写的方法名和形参列表必须与父类一致
  4. 关于static的深入探讨
    1. 静态修饰的成员变量和成员方法随着类的加载而加载
    2. 静态修饰的成员方法只能访问静态成员变量,非静态成员变量属于对象实例的,而静态方法不依赖于对象的实例化
    3. 静态修饰的成员变量和成员方法随着类的消失而消失
  5. 关于类加载的执行顺序
  6. 关于类的加载image.png
执行结果如下:
Static-A执行了
构造方法-C执行了
Static-B执行了
代码块-A执行了
构造方法-A执行了
代码块-B执行了
构造方法B执行了

我来解释一下:
1.开始main方法,执行语句new B(),发现B是继承A的,所以会先去加载A,
我们知道static会在类加载的时候执行,所以先执行AstaticStatic-A执行了

2.然后继续加载B,执行Bstaticstatic C  c = new C( );
这时候会去new一个C,所以执行C的构造方法:构造方法-C执行了

3.然后继续执行BstaticStatic-B执行了

4.做完上面这些步骤,意味着BA的类都加载完了,紧接着B要继续往下走,执行代码块和B的构造方法,
但是由于B是继承A的,所以要先执行父类的代码块和构造方法:代码块-A执行了,构造方法-A执行了

5.最后再加载本身的代码块和构造方法:代码块-B执行了,构造方法B执行了
  1. 关于继承的深入
    1. 当一个子类继承一个父类,那么在执行子类构造方法的时候,会先调用父类的无参构造方法
  2. 关于变量及其范围的陈述
    1. 成员变量在创建时会被初始化为0(整型)
    2. 实例变量不能用static声明
    3. 静态变量使用前,不一定要赋值,会默认初始化为0(整型)
    4. 静态变量在类加载时被初始化
  3. 单例模式的实现条件
    1. 必须在类中创建该类的私有对象
    2. 类中的构造器的访问权限必须设置为私有的
    3. 在类中提供一个公有的静态方法用于创建或者获取私有对象
  4. 单例设计模式是什么意思?什么是懒汉式?什么是饿汉式?
  5. 单例设计模式是一种设计模式,保证一个类在整个应用程序生命周期中只有一个实例被创建。
  6. 懒汉式是一种延迟加载的单例模式,即在第一次使用时才创建实例。饿汉式是在类加载时就创建实例。
  7. 代码块有几种?分别有何特点和作用?
  8. 实例初始化块:在类中定义,用花括号括起来,没有任何关键字修饰,会在每次创建对象时执行。
  9. 静态初始化块:使用 static 修饰,会在类第一次加载时执行,用于初始化静态变量或执行一些只需执行一次的操作。
  10. 继承是什么?为什么要在程序中使用继承?
  11. 继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和行为。通过继承,子类可以复用父类的代码,并且可以扩展或修改父类的功能。
  12. 方法重写和方法重载是什么样的?
  13. 方法重写(Override)是指子类重新定义了父类中已有的方法,但方法的签名(方法名、参数列表)必须保持一致。
  14. 方法重载(Overload)是在同一个类中定义多个方法,它们具有相同的名字但参数列表不同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值