/**
* 作者:Shishuai
* 文件名:Demo
* 时间:2019/8/20 11:05
*/
package com.qf.test.day21;
/**
类B继承类A,按照继承来说B中将拥有A中的所有属性和方法,
但是A中不一定有B中的所有属性和方法
因为B继承A之后还可以添加自己的属性和方法 同时B也可以复写基类的方法*/
public class Demo {
public static void main(String[] args) {
System.out.println(C.value);
//这个就是直接调用了C的属性value(因为C继承B B继承A 所以A中的属性也被C拥有)
// 并没有实例化类对象
//静态代码块 随着类的加载而执行,而且只执行一次
//这个输出语句 从C找到B 从B找到A 在A中找到value 所以需要加载类A 所以先执行A静态的代码块 再找value的值输出
}
}
class A{
public static int value =3;
static {
System.out.println("A-------------");
}
}
class B extends A{
static {
System.out.println("B-------------");
}
}
class C extends B{
static {
System.out.println("C-------------");
}
}
静态代码块问题 System.out.println(C.value)
最新推荐文章于 2025-07-04 22:54:00 发布
本文深入探讨了Java中的继承概念,通过具体示例演示了如何在类B中继承类A的所有属性和方法,同时展示了子类如何添加自己的属性和方法以及复写基类的方法。文章还解释了静态代码块的执行时机及其与类加载的关系。
864

被折叠的 条评论
为什么被折叠?



