java 重要的三个修饰符 abstract static final

修饰符 abstract static final

abstract :修饰的类为抽象类,不完整,不具体的类,,无法独立存在,不能new对象
强制使用多态

作用:

  1. 可被子类继承,提供共性属性和方法。
  2. 可声明为引用,更自然的使用多态。

抽象父类可作为子类的组成部分,依附于子类对象的存在 由 父类共性+子类独有组成完整的子类对象。

抽象方法:只声明方法,不实现方法,强制子类必需实现该抽象方法,提供完整的具体的调用版本
static: 静态 可以修饰属性和方法,成为静态属性(类属性)。静态方法(类方法);
在类加载时执行,且只执行一次

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

方法区存储类的相关信息;

不能在静态中引用非静态的,原因是: 非静态属性(\方法)只有实例化对象后才能调用,静态方法不需实例就可调用;非静态属性(\函数)可以引用静态的
堆中存放类实例化的对象, 栈中存放的是局部变量,局部变量的地址指向堆中的对象 。
Dog() dog = new Dog();实例一个对象放到变量中,
方法区存放类的相关信息,静态属性存放在方法区中,每个实例化的对象,都共用一个方法区。

静态 可以继承,只是类层面的,不是对象层面的 。 所有不能重写,没有多态, ,,访问静态只是通过类的层面访问 类.属性(方法) 子类中与父类同名的方法毫无关系,不存在重写覆盖关系,

类加载
  1. JVM首次使用某个类时,需通过CLASSPATH 查找该类的 .calss 文件,(bin中)
  2. 将.class文件中对类的描述信息加载到内存中,进行保存。(信息有 包名,类名,父类,属性,方法,,,)
加载时机:
  1. 创建对象 间接加载
  2. 创建子类对象。 间接加载
  3. 访问静态属性 间接加载
  4. 调用静态方法 间接加载
  5. Class.forName(“全限定名”) 直接加载,主动加载一个类 Class.forName(“包名 . 类名”) 只加载静态属性和静态代码块;

动态代码块 : { 代码 }

静态代码块: static{ 代码 } 作用: 为静态属性赋值,或必要的初始化行为

实例化对象执行顺序: (无论实例化多少对象,静态属性静态代码块只执行一次)

静态属性 ——> 静态代码块(类层面 类级别,类加载时就执行)——> |||||| (实例层面,实例级别,创建对象时执行)先执行构造方法super() ——> 在加载实例变量 ——> 在执行动态代码块 ——> 在执行构造方法中的代码

父子类中都有静态属性静态代码块,实例变量动态代码执行顺序;

  1. 父类静态属性
  2. 父类静态代码块
  3. 子类静态属性
  4. 子类静态代码块 ( 之后执行子类构造方法,子类构造方法第一句默认执行父类构造方法,)
  5. 父类 实例变量
  6. 父类动态代码块
  7. 父类构造方法
  8. 子类 实例变量
  9. 子类动态代码块
  10. 子类构造方法
public class s {
	public static void main(String[] args) {
		new a();
	}
	public s(){
		System.out.println("b");
	}
}
class a extends s{
	String c= "c";    // 5  加载实例变量
	static String a = "a";    // 1 先加载静态属性
	{ System.out.println("d") ;}   // 6 执行动态代码块
	static{System.out.println(a);}    //  2 再执行静态属性 
	public a () {     //  3 再执行构造方法,
		super();      //  4 执行父类的构造方法
		System.out.println("e");   // 7 执行构造方法中的内容
	}
	
}
final:最终类(不能被继承),最终方法(不能被覆盖),最终变量(命名大写 不能被修改 --常量), 限制某个类使用多态

最终常量必需要有默认值,( 显示初始化,动态代码块,构造方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值