1.  abstract:意为抽象,在Java中可以修饰方法或者类

(1)修饰方法,这个方法是抽象方法,无方法体,这个类一定是抽象类,这个类的子类必须实现这个抽象方法;

(2)修饰类,这个类一定是抽象类,但是不一定有抽象方法;

2.  static:意为静态的,在Java中修饰方法或者变量

2.1  按照是否静态对类成员变量分,有两种,被static修饰即叫静态变量/类变量;另一种是实例变量,两者区别:

(1)对于静态变量在内存中只有一个拷贝(节省内存),JVM只为分配一次内存,在加载的过程中完成静态变量的内存分配,通过类名调用(推荐),也可以使用对象名调用(不推荐);

(2)对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量在内存中有多个拷贝,互不影响(灵活);

(3)静态变量使用场景:在对象之间共享时,方便访问变量时;

2.2  static修饰的方法不能被重写; 静态方法独立于任何实例,所以必须得有方法体(必须实现);

(1)修饰的方法可以直接通过类名调用;被所有对象共享;

(2)静态只能访问静态,非静态既可以访问静态也可以访问非静态;

2.3  不加static修饰的成员是对象成员,为每一个对象所有,加static的成员为所有对象共有;

3.  abstract 和 static 修饰方法:

(1) abstract无方法体,static有方法体,静态方法独立于任何实例,所以必须得有方法体(必须实现),不像是abstract(由子类实现);

(2) static修饰的方法优先于对象存在,所以修饰的方法里面不能有this,super关键字,this和super代表的对象此时并不存在;

(4) static修饰的方法通过类名(子类名)直接调用,通过类对象名(子类对象名)调用不报错但有警告;

4.   abstract和static不能同时存在: abstract修饰的方法无方法体,不能随着类的加载而加载到方法区,static修饰的方法随着类的加载会被加载到类的方法区;

abstract还不能与final同时存在,因为final修饰的方法是最终方法,无法被重写;

abstract不能与private同时存在,因为private修饰的方法不可见,无法重写;

!!!个人(新手)整理,定有遗漏或存在错误,望指正,抱拳 老铁!

关键字abstract和static总结的更多相关文章

  1. 【转】Java关键字final、static使用总结

    转自:http://lavasoft.blog.51cto.com/62575/18771/   Java关键字final.static使用总结   一.final        根据程序上下文环境, ...

  2. Java关键字final、static使用总结

    Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

  3. 转!Java关键字final、static使用总结

    Java关键字final.static使用总结   一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...

  4. Java关键字final、static使用总结(转)

    Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

  5. Java关键字final、static总结

    对Java关键字Final和Static进行总结. 一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

  6. java关键字-abstract

    抽象:不具体,看不明白. 抽象类表象体现. 在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法. ...

  7. C语言中关键字auto、static、register、const、volatile、extern的作用

    原文:C语言中关键字auto.static.register.const.volatile.extern的作用 关键字auto.static.register.const.volatile.exter ...

  8. Java基础(basis)-----关键字final和static的作用

       1.关键字final      final修饰类:这个类就不能被继承      final修饰方法:不能被重写      final修饰属性:此属性就是一个常量,一旦初始化后,不可再被赋值.习惯 ...

  9. Java关键字final、static使用总结(转)

    原文链接:Java关键字final, static一些要点 1. final   final类不能被继承,没有子类,final类中的方法默认是final的 final方法不能被子类的方法复盖,但可以被 ...

随机推荐

  1. Navicat注册机报错No all pattern found! file already patched

    第一步:先把注册机放入安装目录. (这一步非常关键,先不要打开桌面上安装好的快捷方式!!) 第二步:如果之前下载过,把注册表清理干净 计算机\HKEY_CURRENT_USER\SOFTWARE\Pr ...

  2. 日常Bug排查-抛异常不回滚

    日常Bug排查-抛异常不回滚 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 最近有人反映java应用操作数据库的时候,抛异 ...

  3. XLearning - 深度学习调度平台

    XLearning - 深度学习调度平台 软件简介 XLearning **** 是奇虎 360 开源的一款支持多种机器学习.深度学习框架调度系统.基于 Hadoop Yarn 完成了对TensorF ...

  4. TensorFlow文本情感分析实现

    TensorFlow文本情感分析实现 前面介绍了如何将卷积网络应用于图像.本文将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句子或文档表示为矩阵,则该矩阵与其中每个单元 ...

  5. HarmonyOS技术特性

    HarmonyOS技术特性 硬件互助,资源共享 多种设备之间能够实现硬件互助.资源共享,依赖的关键技术包括分布式软总线.分布式设备虚拟化.分布式数据管理.分布式任务调度等. 分布式软总线 分布式软总线 ...

  6. NVIDIA® TensorRT™ supports different data formats

    NVIDIA TensorRT supports different data formats NVIDIATensorRT公司 支持不同的数据格式.需要考虑两个方面:数据类型和布局.         ...

  7. ADO.NET的五大对象

    ADO.NET是一种数据访问技术,使得应用程序可以连接到数据库存储,并以各种方式操作存储在其中的数据.该技术基于.NETFramework,与.NET Framework类库的其余部分高度集成. 其中 ...

  8. git操作分支的常用的命令

    查看所有的分支:                 git branch -a 查看当前所在的分支:          git branch 检出分支:                          ...

  9. day05对象和类

    day06作业: 第一题:分析以下需求,并用代码实现 手机类Phone 属性: 品牌brand 价格price 行为: 打电话call() 发短信sendMessage() 玩游戏playGame() ...

  10. NOIP模拟测试2「排列 (搜索)·APIO划艇」

    排序 内存限制:128 MiB 时间限制:1000 ms 标准输入输出     题目描述 输入格式 数据范围与提示 对于30%的数据,1<=N<=4: 对于全部的数据,1<=N< ...