JAVA基础07 版本控制+static+final+abstract

版本控制概述

  1. 版本控制分类

    优点:便于集中式的代码管理
    便于进行权限控制
    缺点
    需要联网才可以工作,而且项目庞大的情况下对带宽的要求比较高
    中心服务器存在单节点故障风险

常见的集中式版本控制软件:CVS、SVN

  1. 分布式版本控制
    优点:不需要联网也可以工作
    不存在单节点故障风险
    缺点:无法实现严格的权限控制

常见的分布式版本控制软件:Git

static(静态)

  1. 概念
    关键字—修饰符 变量、方法、代码块以及类

  2. 修饰变量—静态变量(属性)
    static修饰的成员变量也叫类变量,随着类的加载(方法区的静态常量池)而加载方法区的静态区,会赋予系统默认初始值,可以用类名点的形式调用也可以通过对象调用,所有的对象都是在共享着这静态变量。
    注意:类只加载一次
    在类加载的过程中信息自动存入方法区
    构造方法中可以定义静态变量?[x 不可以]
    构造方法是对象级别且被调用才执行,静态变量与类同级

  3. 修饰方法—静态方法
    随着类的加载(方法区静态常量池)而加载到静态区,存储是存储在静态区,当方法被调用的时候被加载到栈中执行(所有的方法和语句都是在栈中执行),可以被类名调用也可以被对象调用
    注意
    静态方法中可以定义静态变量?不可以,方法被调用执行
    静态方法中可以使用this/super?this和super都是对象级别,静态方法是类级别
    main方法可以直接调用非静态方法?不行,静态修饰的内容不能直接调用非静态内容,非静态内容可以调用直接静态内容
    静态方法可以重载?可以
    静态方法可以重写?不可以,java规定了父子类中只能出现都是static的二分法但是不是重写,要么都不是static就可以重写

  4. 修饰代码块----静态代码块
    在方法外类内static{},随着类的加载而只加载一次,用于属性初始化以及程序启动默认需要加载的东西
    执行顺序:静态–》对象 父类静态—子类静态—父类对象—子类对象
    注意:静态修饰的内容随着类的加载而加载一次

static int i=1;
static{
     i=4}

Java在加载的时候就确定了i是成员变量,就可以往下进行操作,在静态代码块中执行相应的操作(赋值,运算都可以)

static{
  i=3;
}
static int i=4;

java开始进行加载发现了i,会根据上下文去确定这个i是什么变量,如果都没有定义就会对这个i进行标记,标记成了成员变量,但是只是一个标记,会把3标记成i的值,只能赋值不能有其他操作,往下找定义找到这个i的定义,会把这个标记的值给下面的i,后面进行正常赋值就把标记值覆盖了,标记也就没了。

final(最终)

  1. 概念
    关键字—修饰符 数据、方法、类

  2. 修饰数据—最终值
    修饰基本数据类型的变量的值不发生改变
    修饰引用数据类型的变量的地址值不能发生改变,但元素的值可以改变
    final修饰的成员变量要在创建对象之前进行赋值,静态常量要在类加载完成之前进行初始化

  3. 修饰方法—最终方法
    最终方法可以重载?支持重载
    最终方法可以重写?不支持重写

  4. 修饰类—最终类
    不能被继承,可以继承别的类
    类里的方法可以被重写?不可以

abstract(抽象)

关键字----修饰符

  1. 概念
    如果所有的子类对父类某个方法都进行了不同的程度的重写,那么此时认为这个方法的方法体就没有了实际意义,把方法体去掉用abstract修饰就变成了抽象方法,如果一个类中有抽象方法那么此时这个类就要变成抽象类
  2. 注意
    如果一个普通类继承了抽象类就要重写所有的抽象方法,如果不想重写所有就要变成抽象类
    抽象类一定有抽象方法?不一定
    抽象类能否创建对象?不可以 抽象类的构造方法是在底层由其他语句进行创建的,使用不了

总结

  • static—静态变量(类的信息都是存储在方法区)—静态方法(静态方法与类同级,重写与对象同级)----静态代码块(所有静态内容只加载一次)
  • final----数据(基本数据类型的变量与引用)—方法(不可以重写)----类(不可以被继承)
  • Abstract—抽象方法—抽象方法可以重载?可以----抽象方法可以被private/final/static修饰?不可以------抽象类可以被final修饰?不可以,重写的前提是继承
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值