继承、接口、static、abstract
继承:
1.用extends来完成继承
2.子类可以继承父类全部的数据域但是只有部分的数据域对子类可见
3.在java中支持单继承
4.单继承和多继承的比较
(1)多继承比单继承能够更好的提高代码的复用性
(2)单继承比多继承能够更好的减少方法调用的歧义
优点:
(1)提高代码的复用性
(2)避免方法的调用产生混乱
接口:
- 用implements关键字来完成类和接口之间的实现关系
- 在java中支持的是类和接口之间的多实现
- 在java中支持接口和接口之间的多继承
- 接口不能创建对象
- 接口也没有构造方法
- 接口不是类
- 在jdk1.8之前只能定义抽象方法,从jdk1.8开始,接口允许定义实体方法
- 在接口定义的抽象方法默认是用public abstract修饰
- 在接口中可以定义属性,但是默认使用public static final修饰
static:
静态变量: - 在类加载的时候加载到方法区
- 在方法区2中赋予了默认值
- 静态变量是先于对象出现,所以习惯上使用类名来调用
- 本类的所有对象储存的是这个静态变量在方法区中的地址,所以静态变量是被所以对象共享
- 静态变量只能定义在类中不能定义到任何代码块中
静态方法: - 在类加载的时候加载到方法区
- 在方法区中只储存不执行
- 在方法被调用的时候到栈内存中执行
- 静态方法先于对象出现
- 静态方法中不能直接使用本类中的非静态
- 静态方法可以重载
- 静态方法能被继承,但是不能被重写
<font color="green“> 静态代码块
用static{}包起来的代码
在类加载(第一次使用)的时候执行一次
执行顺序
(1)父类静态
(2)子类静态
(3)父类非静态
(4)父类构造方法
(5)子类非静态方法
(6)子类构造方法
abstract:
抽象类
1.必须被继承
2.抽象类不能用final修饰
3.抽象类的构造方法私有,只不过这个时候需要将其内部类形式来完成继承
4.不能被实例化,但是有构造方法
5.子类在继承抽象类之后必须重写其中的所有抽象方法,除非子类也是抽象类
抽象方法
1.必须被继承重写
2.可以重载
3.不能用static/final/private修饰
4.如果抽象方法是默认权限,要求子类必须和抽象类同包
继承、接口、static、abstract的更多相关文章
- 面向对象 继承 抽象类 接口 static 权限修饰符
Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...
- 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口
一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...
- 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问: 抽象类是否可继承实体类 (concrete class) 答: 抽象类是 ...
- java修饰符public final static abstract transient
JAVA 修饰符public final static abstract transient 关键字: public final static abstract ... 1.public prot ...
- python的类的继承-接口继承-归一化设计
1.先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸 ...
- 反射的妙用:C#通过反射动态生成类型继承接口并实现
起因 最近想自己鼓捣个RPC,想着简化RPC调用方式,直接申明接口,然后根据接口的属性去配置RPC调用的相关信息.有一种说法叫申明式调用. 简单来说就是,申明一个interface,动态继承并实例化, ...
- 接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?
接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)? 1. 接口可以继承接口. 2. 抽像类可以实现(implements)接 ...
- java 接口 继承 接口 抽象类 继承 实体类
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...
- 编写高质量代码改善C#程序的157个建议——建议46:显式释放资源需继承接口IDisposable
建议46:显式释放资源需继承接口IDisposable C#中的每一个类型都代表一种资源,资源分为两类: 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象. 非托管资源:不受CLR ...
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接口.抽象类可以实现(implements)接口,抽象类 ...
随机推荐
- 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)
[源码下载] 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框) 作者:webabcd 介绍背水一战 Wind ...
- redux源码学习笔记 - applyMiddleware
在创建store时,createStore(reducer, preloadedState, enhancer),除了reducer函数,初始状态,还可以传入enhancer.这个enhancer在c ...
- 【sping揭秘】25、Spring远程方案
分化:RMI,EJB,Hessian Spring有 Rmi,http,hessian,burlap 基于rmi的remoting方案 RMI要求远程类对象包路径和本地一致 基于HTTP的轻量级rem ...
- 引入CSS的三种方式
虽然入职已经大半年,并自诩前端工程师,但是我真的不会……(有一种我有罪我该死的感觉 从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌入式和外部式三种. 1.内联式 内联式css样式表就 ...
- 解决删除chrome注册表残留问题
将下面这个全部复制下来并粘贴到命名为“remove.reg”的文件中.双击执行即可 Windows Registry Editor Version 5.00 ;WARNING, this file ...
- IndexedDB 简单封装
IndexedDB 浏览器数据库,是一个非关系型数据库,数据形式使用的是json,IndexedDB适合存储大量数据,它的API是异步调用的,当然他的api 也相对复杂. 当然浏览器数据存储 还有Lo ...
- eclipse制作exe文件
1.右击你的项目,选择Export: 2.选择Java目录下的JAR file: 3.设置导出jar文件的路径,我这里选择的是桌面,点击Next: 4.这一步默认,不用改动,直接Next: 5.设置项 ...
- SaltStack安装配置详解
一.简介 Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端 minions :Saltstack 和 Puppet ...
- 流式大数据计算实践(2)----Hadoop集群和Zookeeper
一.前言 1.上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二.搭建Hadoop集群 1.根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core ...
- Apollo 9 — adminService 主/灰度版本发布
目录 Controller 层 Service 层 publish 方法 发送 ReleaseMessage 消息 总结 1. Controller 层 主版本发布即点击主版本发布按钮: 具体接口位置 ...