继承、接口、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)接口,抽象类 ...
随机推荐
- 小程序如何获取code
小程序如何获取code <button open-type="getUserInfo" hover-class='none' bindgetuserinfo="ge ...
- Kali学习笔记22:缓冲区溢出漏洞利用实验
实验机器: Kali虚拟机一台(192.168.163.133) Windows XP虚拟机一台(192.168.163.130) 如何用Kali虚拟机一步一步“黑掉”这个windowsXP虚拟机呢? ...
- pycharm中配置启动Django项目
1.先打开mange.py,然后再运行,会提示一堆东西,表示没有配置参数.在pycharm中点击edit configurations 编辑配置参数. 2.点开之后弹出如下对话框,在scrip par ...
- [原创]K8飞刀Final
法律声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 工具: K8飞刀Final作者: K8哥哥博客: https://www.cnblogs.com/k8gege简介: 一款多功能网络安全渗透 ...
- [EFCore]EntityFrameworkCore Code First 当中批量自定义列名
在使用.NET CORE 进行 Web 开发的时候会考虑到使用不同数据库的情况,并且在每种数据库建立表结构的时候会采用不同的命名规则.之前的解决方法是使用 [ColumnAttribute] 或者 [ ...
- python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别(转)
为了区分三种乘法运算的规则,具体分析如下: import numpy as np 1. np.multiply()函数 函数作用 数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 1.1数组场景 ...
- 课程五(Sequence Models),第二 周(Natural Language Processing & Word Embeddings) —— 2.Programming assignments:Emojify
Emojify! Welcome to the second assignment of Week 2. You are going to use word vector representation ...
- 微信小程序 获得用户输入内容
在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...
- Node.js 获取微信JS-SDK CONFIG
背景 前端在调用微信提供的分享.拍照.扫一扫等功能时需要到后台获取配置,主要是签名(signature).Node 开发可以用朴灵大佬的SDK--co-wechat-api. 配置 到微信公众平台进入 ...
- leetcode — search-for-a-range
import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/search-for-a-range/ * * Cre ...