1.内部类:
概述:定义在一个类中的类叫做内部类。他类消失了一些类本身有的功能。
分类:
从位置划分:
成员位置:
1.普通成员内部类
2.私有成员内部类
3.静态成员内部类
成员方法内部:
局部内部类
从表现形式上划分:
有名字的内部类:位置划分的内部类都属于有名的内部类
没有名字的内部类:匿名内部类【多态】
1.普通成员内部类:
位置:类中的成员属性位置使用类的格式在定义一个类
定义格式:和类的格式一样:class 内部类的名称{书写内部类的内容}
理解:我们可以把整个内部类看成是一个整体,整体看成外部类的一个特殊的属性。
访问:使用外部类的对象.内部类的对象
成员内部类的内容说明:【丧失一些类功能】
1.不能定义静态的资源
2.可以使用外部类的所有资源
3.外部类不能直接使用内部类的资源,要想使用必须先创建内部类对象
内部类资源的使用:
外部类中:在外部类的方法中创建内部类的对象,适用对象访问内部类的资源。
外部类外,首先创建外部类的对象,调用内部类的对象【创建出来。】格式:成员内部类 名字 内部类对象名 = new 外部类名().new内部类类名()。
2.私有成员内部类
位置:定义在成员位置上【类中方法外】被private修饰的成员内部类。 访问权限【范围变小】,只可以在本类即外部类中使用。
特征:普通的成员内部类被private关键字修饰。
定义格式:private class 名称{内部类的内容}
内容的说明:1.不能存在静态的资源2.可以使用外部类所有的资源。
使用:只能被外部类使用,除了外部类其他类使用不了。
外部类内:在外部类中定义方法,方法中创建私有内部类的对象,用对象去调用资源
外部类外:在外部类中定义方法,方法中创建私有内部类的对象,用对象去调用资源,外边的类创建外部类的对象调用外部类的方法间接的访问内部类的资源。
3.静态成员内部类
位置:类的成员位置【类中方法外】
特征:使用static修饰的普通成员内部类
格式:static class 名称{内部类的内容}
访问说明:
1.静态内部类可以访问外部类的所有的静态资源【遵守static的使用元素原则】
2.可以有自己的静态资源【成员内部类不可以有静态资源】
3.创建对象方法:
1.在外部类的内部:new 内部类名()
2.在外部类的外部:new 外部类名. 内部类名()
4.局部内部类(在外部类的方法中)
位置:定义在方法的方法体中;属于方法,可以看作是方法局部的元素;外部类不能直接访问局部内部类的元素;只能通过所在方法调用来使用,但是局部内部类可以使用外部类的所有资源。
1.局部内部类中的成员访问时根据所在的方法不同而不同的
在静态方法中:他只能访问外部类中的静态变量;局部内部类可以出现静态资源。
在普通方法中:局部内部类可以访问外部类中的所有的资源。
2.内部类可以访问所在 方法中的变量
3.在局部内部类所在的方法中,创建内部类的对象访问里面的相关资源。

2.抽象类
概述:被abstract修饰的类就叫做抽象类
抽象方法:
概述:被abstract修饰的并且没有方法体的方法
特点:对外只声明自己的功能,不会去实现。
优点:方法的功能扩展性强
格式:修饰符 abstract 返回值类型 方法名(形式参数)
注意事项:抽象方法必须存在于抽象类和接口中要想具体化必须先重写。
抽象类的内容:
1.成员变量:描述事物属性的。和普通的变量一样
2.构造方法:和普通类的构造一样【写法一样】但是不能创建对象了是给子类使用的
3.成员方法
普通方法:正常的进行定义
抽象方法:抽象类的特有方法【没有具体的执行语句】
4.抽象类和抽象方法的关系:抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。
5.特点:
1.一定被abstract 修饰
2.有构造 但是不能创建自己的对象
3.抽象方法可有可无
4.有抽象方法必定是抽象类
5.抽象方法必须要被子类重写。

3.接口
定义:是不同类型的事物的相似行为的集合体
格式:修饰符 interface 接口名称 {接口内容}
解释:
1.interface:就是关键字,表示接口
2.接口名称:自己命名【遵循见名知义、大驼峰格式】
3内容:
属性:接口的属性只能是常量或者被final修饰的变量
注意:1.属性是默认被public static final 修饰的2.声明属性的时候必须给其赋值。
构造方法:接口没有构造方法,所以不可以创建对象
行为:jdk1.8之前接口只有抽象方法。【抽象方法就是行为声明的表现形式。】
4.接口和抽象类的区别:
1.抽象类是对子类的共性行为生命的提前【子类要求是同一系列的类;局限性小】
2.接口是对不同系列的事物的共性行为的生命的提前【没有局限性】
3.抽象类是被类继承的,接口只可以被类实现。
5.接口的实现:
概述:接口是行为的集合,行为只是一种声明没有具体的实现,行为要想有效果必须被调用,接口自己没有对象,只有通过类对象来调用,必须要类来实现。
单实现:类一次只实现一个接口
概述:使用关键字implement连接类和接口,就产生实现的关系必须重写接口中所有的抽象方法。
格式:类A implement 接口B{重写方法}
1.一个普通类实现一个接口:类肯定重写了所有的抽象方法。
2.抽象类实现了一个接口:抽象类可以重写接口中的方法,也可以不重写,但是抽象类的子类必须重写没有被重写过的所有抽象方法。
多实现:一个类同时实现多个不同的接口
格式:类A mplement 接口 A、接口B、接口C…{类的内容【重写接口中的资源】}
原则:
1.所有接口的所有不同名的抽象方法必须重写
2.抽象类多实现接口的时候:抽象类可以重写接口中的方法,也可以不重写,最终抽象类的子类必须全部实现接口的所有不重名的抽象方法
3.多接口中有同名的抽象方法只需重写一次
6.继承和实现的优先级
1.一个类既要继承另一个类,又要实现接口,这时java中默认先继承后实现;因为继承时亲爹,实现是干爹;【亲属关系】
2.如果一个类继承父类又要实现接口时,如果接口中的抽象方法和父类中的抽象方法重名时,该类只需要重写父类的方法,不需要重写接口中的方法。
7.接口的特点
1.接口的属性是常量或者被final修饰的变量【静态的资源,使用接口名访问】
2.接口没有构造方法,不能创建对象
3.jdk1.8之前接口中行为只有抽象方法
4.接口要求子类来重写它的所有抽象方法
5.接口只能被类多实现不能被类多层实现。
8.类和接口之间的关系:
1.类和类:只能出现继承关系【java中支持的单继承、多层继承】
2.类和接口:只能实现关系【Java中支持单实现、多实现】
3.接口和接口:只能存在继承关系【Java中支持单继承、多继承、多层继承】
4.注意:一个接口继承了其他接口,意味着这个接口拥有所有继承的接口中的抽象方法;它的实现类必须重写所有的抽象方法。

内部类、抽象类、接口基本知识详解相关推荐

  1. 720phi10p 和 720p有什么区别_HDMI接口有什么用?HDMI接口相关知识详解

    在现如今的电脑当中,高琼的HDMI接口已经逐渐成为了主流视频接口,像VGA模拟接口.DVI数字接口已经逐渐被淘汰掉了.那么HDMI接口怎么样呢?HDMI接口有什么用呢?HDMI接口有几种规格呢?HDM ...

  2. Android-内存泄露知识详解

    目录 一.内存泄露基础知识 1.1内存泄漏简介 1.2内存泄露的本质原因 1.3内存泄露和内存溢出 1.3.1介绍 1.3.2内存溢出和内存泄露的关系以及区别 二.Android内存管理机制 2.1简 ...

  3. 最全 VxLAN 知识详解

    什么是VXLAN VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization o ...

  4. 网络知识详解之:网络攻击与安全防护

    网络知识详解之:网络攻击与安全防护 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...

  5. 网络管理之基础知识详解

    网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...

  6. LCD1602知识详解(很详尽的)

    1602液晶知识详解: 1.1602液晶基础 *VSS:电源地信号引脚: *VDD:电源信号引脚: *VEE:液晶对比度调节引脚,接0~5V以调节液晶的显示对比度: *RS:寄存器选择引脚: RS = ...

  7. SD卡 (SD miniSD microSD SDIO)知识详解

    SD卡 (SD miniSD microSD SDIO)知识详解 SD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的存储卡, 1999年,由日本松下.东芝及美国S ...

  8. 工业相机基础知识详解

    工业相机基础知识详解 工业相机是机器视觉系统的一个最关键的组件.他的功能很简单,就是将被检测的物体拍摄下来,然后转换成电脑可以识别的图像,以便以后进行图像处理,从而完成检测任务.工业相机俗称工业摄像机 ...

  9. 计算机raid基础知识,主板知识详解:板载 RAID

    主板知识详解:板载 RAID RAID 是英文 Redundant Array of Inexpensive Disks 的缩写.中文简称为廉价磁盘冗余阵列.RAID 就是一种由多块硬盘构成的冗余阵 ...

最新文章

  1. input限制文字个数但是输入中文时会被切断_Python文字转换语音,让你的文字会「说话」抠脚大汉秒变撒娇萌妹...
  2. libevent介绍
  3. [BZOJ]4650 优秀的拆分(Noi2016)(哈希+二分)
  4. python贴吧回帖-python控制浏览器爬取百度贴吧回复并写入Excel
  5. 我一哥们,在东莞和五名女孩被抓了.....
  6. [react-router] React-Router 3和React-Router 4有什么变化?添加了什么好的特性?
  7. 1051. 复数乘法 (15)
  8. OpenGL ES渲染管线与着色器
  9. POJ-3421 X-factor Chains---求因子+递推 或 素因子+组合数学
  10. 自杀式未来,从垃圾快乐上瘾开始?
  11. Android自定义方式设置drawableleft图片大小
  12. uniapp H5公众号errMsg: “onMenuShareAppMessage:fail, the permission value is offline verifying“
  13. 中科院1区JGG微生物专刊征稿
  14. Mac配置docker镜像源
  15. 社群团购到底有哪些优势?为什么社群团购很容易打造爆品?
  16. Squirrel中的类与实例
  17. 【CoderSay】Code For Better 谷歌开发者之声 - 相遇2022GoogleSummit
  18. 北航计算机学院网络安全班,2021年北航网络空间安全学院网络空间安全专业目录分数线参考书真题及考研经验...
  19. Java Poi-tl操作Word文档,插入文本和图片
  20. vue用 echarts 显示区域地图 并用不同颜色显示每个区域

热门文章

  1. table中的td内容过长显示为固定长度,多余部分用省略号代替
  2. 安装Win7系统时使用diskpart命令将GPT分区转换为MBR分区
  3. 第五十节,面向对象基本介绍
  4. 中国移动神州行5元卡普遍缺货
  5. 告别.net ! 2年多了,舍不得!
  6. 提升速度与精度,FedReg: 减轻灾难性遗忘加速联邦收敛(ICLR 2022)
  7. 国内最强算法推荐系统,百度第二,它排第一!
  8. ICCV2021 香港理工、阿里达摩院提出RealVSR:视频超分任务中的新数据集与损失方案...
  9. 基于深度学习的眼底影像分析最新综述
  10. 北亚利桑那大学等推出:航拍森林火情检测数据集 FLAME