抽象关键字abstract

抽象类

  • 在类前加上关键字abstract可以将此类变成抽象类。抽象类不允许通过new关键字实例化,但是可一通过其子类向上转型为其创建实例。
  • 抽象类可以有抽象方法,也可以没有。但是有抽象方法的类一定是抽象类,这点很重要。

抽象方法

  • 在方法前加上abstract关键字会将方法变成抽象方法。抽象方法必须被其非抽象子类子类重写,额,这样说好像有点别扭!即抽象类的非抽象类子类必须重写父类的抽象方法(父类:这是老子的规定,你必须执行)。而抽象子类则可以选择不重写父类的抽象方法(抽象子类:虽然老爹你是抽象类,很吊,但是儿子我也是抽象类,你命令不了我,哈哈哈)。

   抽象类的实例化

  • 虽然抽象类不能直接通过new关键字创建对象,但是却可以通过其子类对其向上转型而实例化。

  • 实例化的上转型对象可以访问子类继承父类的非私有属性、方法、以及子类重写父类的方法。

Son son=new Son();
Father father=son;

抽象类的理解

  • 抽象类只制定行为的标准,而不需要去考虑具体这种行为是如何实现的,具体的实现过程由子类去完成,而抽象类中的抽象方法就是告诉子类,这是你必须去完成的,父亲我只告诉你“标准”。

static关键字

  • static关键字是静态的意思。她可以使属性、方法变成静态的,即在创建实例之前就已经在内存中存在了。

  • 静态方法不管被实例化多少次,只产生一个实际的对象。属性同样如此。
  • abstract不与final一起用:因为final关键字是让类不能被继承,与abstract矛盾
  • abstract不与static一起用:因为static修饰的方法只能被子类继承,不能被子类重写。与abstract必须重写非抽象子类的矛盾。
  • abstract不与private一起用:这个应该很容易理解吧!因为private是让类限制在类内访问,与抽象类大大的矛盾。

abstract关键字及static关键字的更多相关文章

  1. abstract关键字、final关键字、static关键字、访问修饰符详解

     abstract关键字.final关键字.static关键字.访问修饰符详解 abstract关键字: final关键字: static关键字: 访问修饰符:

  2. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  4. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 2017.10.23 Java 面向对象深入学习---final 关键字、static关键字、匿名对象等

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ...

  7. PHP的final关键字、static关键字、const关键字

    在PHP5中新增加了final关键字,它可以加载类或类中方法前.但不能使用final标识成员属性,虽然final有常量的意思,但在php中定义常量是使用define()函数来完成的. final关键字 ...

  8. java中this关键字和static关键字和super关键字的用法

    this关键字 1. this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性: 2.可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数(这里面上面有个 ...

  9. 构造方法,this关键字,static关键字,封装,静态变量

    1.构造方法 构造方法是一种特殊的方法,是专门用于创建/实例化对象的方法. 构造方法根据是否有参数分为两类:1.无参构造方法  2.有参构造方法 1.1无参构造方法 无参构造方法就是构造方法中没有参数 ...

随机推荐

  1. Eclipse修改背景颜色(豆沙绿)

    操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些.设置方法如下: 1.打开window->Prefere ...

  2. POI操作Excel(批量导出数据/下载excel)

    目录 1.第一个demo:创建工作簿,创建sheet页,创建单元格    2.创建一个时间格式的单元格    3.遍历工作簿的行和列并获取单元格内容    4.文本提取    5.单元格对齐方式    ...

  3. GIL与event事件讲解

    一.GIL全局解释器锁 global interpreter lock 1.GIL是一个互斥锁:保证数据的安全(以牺牲效率来换取数据的安全),阻止同一个进程内多个线程同时执行(不能并行但是能够实现并发 ...

  4. (67)c++后台开发

    还记得自己在学校的时候,一直都比较注重的是:编程语言+数据结构与算法.没错,对于一个在校的计算机专业的学生,这是很重要的方面.但是,这往往不够,或许是因为毕业前一直没有进入企业实习,以至于自己在毕业之 ...

  5. windows与ubuntu双系统的安装

    将ubuntu镜像烧录至U盘,从U盘启动电脑 选择自定义安装,不要选择它本身的双系统选项. 我的方案分区: 1. 挂载点/:主分区:安装系统和软件:大小为30G:分区格式为ext4:2. 挂载点/ho ...

  6. [CSP-S模拟测试]:椎(线段树维护区间最值和单调栈)

    题目描述 虽不能至,心向往之. $Treap=Tree+Heap$ 椎$=$树$+$堆 小$\pi$学习了计算机科学中的数据结构$Treap$. 小$\pi$知道$Treap$指的是一种树. 小$\p ...

  7. GIT的安装和配置

  8. springboot学习日志(二)-- thymeleaf学习

    本次学习如何使用thymeleaf以及相关语法1.在上一章写的那样 引入jar包到maven工程 <dependency> <groupId>org.springframewo ...

  9. 20165218 《网络对抗技术》Exp7 网络欺诈防范

    Exp7 网络欺诈防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击 公共网络下或者同一局域网内: 在日常生活工作中如何防范以上两攻击方法 钓鱼网站 查验可信第三方 核对网站域名 查询 ...

  10. C语言:结构体中(.)和(->)的区别

    https://blog.csdn.net/faihung/article/details/79190039 这虽然是个小问题,但有时候很容易让人迷惑,因为有的时候用混淆了,程序编译不通过. 下面说说 ...