继承:
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的更多相关文章

  1. 面向对象 继承 抽象类 接口 static 权限修饰符

    Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...

  2. 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口

    一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...

  3. 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

    接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是 ...

  4. java修饰符public final static abstract transient

    JAVA 修饰符public final static abstract transient  关键字: public final static abstract ...  1.public prot ...

  5. python的类的继承-接口继承-归一化设计

    1.先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸 ...

  6. 反射的妙用:C#通过反射动态生成类型继承接口并实现

    起因 最近想自己鼓捣个RPC,想着简化RPC调用方式,直接申明接口,然后根据接口的属性去配置RPC调用的相关信息.有一种说法叫申明式调用. 简单来说就是,申明一个interface,动态继承并实例化, ...

  7. 接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?

    接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)? 1. 接口可以继承接口. 2. 抽像类可以实现(implements)接 ...

  8. java 接口 继承 接口 抽象类 继承 实体类

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...

  9. 编写高质量代码改善C#程序的157个建议——建议46:显式释放资源需继承接口IDisposable

    建议46:显式释放资源需继承接口IDisposable C#中的每一个类型都代表一种资源,资源分为两类: 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象. 非托管资源:不受CLR ...

  10. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接口.抽象类可以实现(implements)接口,抽象类 ...

随机推荐

  1. 小程序如何获取code

    小程序如何获取code <button open-type="getUserInfo" hover-class='none' bindgetuserinfo="ge ...

  2. Kali学习笔记22:缓冲区溢出漏洞利用实验

    实验机器: Kali虚拟机一台(192.168.163.133) Windows XP虚拟机一台(192.168.163.130) 如何用Kali虚拟机一步一步“黑掉”这个windowsXP虚拟机呢? ...

  3. pycharm中配置启动Django项目

    1.先打开mange.py,然后再运行,会提示一堆东西,表示没有配置参数.在pycharm中点击edit configurations 编辑配置参数. 2.点开之后弹出如下对话框,在scrip par ...

  4. [原创]K8飞刀Final

    法律声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 工具: K8飞刀Final作者: K8哥哥博客: https://www.cnblogs.com/k8gege简介: 一款多功能网络安全渗透 ...

  5. [EFCore]EntityFrameworkCore Code First 当中批量自定义列名

    在使用.NET CORE 进行 Web 开发的时候会考虑到使用不同数据库的情况,并且在每种数据库建立表结构的时候会采用不同的命名规则.之前的解决方法是使用 [ColumnAttribute] 或者 [ ...

  6. python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别(转)

    为了区分三种乘法运算的规则,具体分析如下: import numpy as np 1. np.multiply()函数 函数作用 数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 1.1数组场景 ...

  7. 课程五(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 ...

  8. 微信小程序 获得用户输入内容

    在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...

  9. Node.js 获取微信JS-SDK CONFIG

    背景 前端在调用微信提供的分享.拍照.扫一扫等功能时需要到后台获取配置,主要是签名(signature).Node 开发可以用朴灵大佬的SDK--co-wechat-api. 配置 到微信公众平台进入 ...

  10. leetcode — search-for-a-range

    import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/search-for-a-range/ * * Cre ...