Java super、final关键字
发布日期:2022-02-24 01:06:56
浏览次数:2
分类:技术文章
本文共 1427 字,大约阅读时间需要 4 分钟。
继承
单继承 class 类名 extends 父类 父类中的属性子类都有,只是有的不能被访问子类构造方法是无参的,不用写super();系统默认调父类无参
子类构造方法是有参的,要调用父类无参就必须写super();类的加载
1.什么是类的加载 load (Node类的加载) 从硬盘中找到Node.class文件,解析该内容,生成Node类,把Node类的信息存放到内存的方法区, 直接和CPU打交道的是内存,数据都要在内存中,从硬盘上把文件提取到内存上, 2.什么情况下触发类的加载,并且该类不在内存中 1)按需加载(懒加载过程) 1.实例化该类的一个对象 new Node(1); 2.使用该类的静态属性或静态方法 ; 3.要用子类,必须要有父类,要加载父类 3其他规则 静态属性初始化顺序: 按照代码的书写顺序,执行 1.静态属性定义时的初始化 2.静态代码块(静态初始化器)对象的构造/实例化 new Node
规则:
1.优先初始化父类的属性 2.按照下面的顺序执行初始化 1.按照代码书写顺序,执行定义时和构造代码块 2.再去执行构造方法 1.定义时初始化 2.构造代码块初始化 3.构造方法初始化abstract关键字有什么作用?
1.修饰类,该类是抽象类,无法被实例化的类,等着被继承的类 abstract class A {} //new A();是错的 2.修饰方法,该方法是抽象方法,没有被实现的方法 abstract void method(); 包含抽象方法的类一定是抽象类 抽象类不一定包含抽象方法final关键字有什么作用?
1.修饰变量,该变量的值只能被初始化一次,无法再修改 2.修饰类,该类无法被继承 3.修饰方法,该方法无法被覆写final类中可以有abstract方法吗?
两者是对立的,final不能被继承,abstract类必须要被继承,若不被继承,它本身又不能实例化,没啥用 final类与final没啥关系,完全独立重载Overload和覆写Override(重写)
1.方法签名:方法名+形参列表
重载:方法名相同,形参列表不同 2.覆写,发生在子类继承父类 或者 类接口实现 1.方法名和形参列表相同 2.方法的返回类型和比父类的返回类型小 Animal find() { } Brid find() {} 3.访问限定符 访问限定符只能比父类的大,或相同 但父类方法的访问限定符要是private则在子类中方法不能被覆写 4.@Override注解接口:
interface 接口名 extends A,B,C { // 合同/契约 void method(); // 1.public // 2.abstract public abstract void method(); }1.引用只能指向对象,或者什么都不指向
2.数组引用,类类型引用,接口类型的引用 3.对象:数组对象,非抽象类类型的对象interface I {}
class P {} class A extends implements I {}那些引用 可以指向该对象
I i=new A(); P p=new A(); A a=new A();P method() {
return new P(); return new A(); } 返回的是P类型的引用,可以指向A或者P的对象,因为A是P的子类转载地址:https://blog.csdn.net/weixin_45878524/article/details/118254506 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 17时23分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图Graph--拓扑排序(Topological Sorting)
2019-04-28
图Graph--最短路径算法(Shortest Path Algorithm)
2019-04-28
LeetCode 674. 最长连续递增序列
2019-04-28
LeetCode 70. 爬楼梯(动态规划)
2019-04-28
数据结构--位图 BitMap
2019-04-28
朴素贝叶斯算法--过滤垃圾短信
2019-04-28
向量空间 Vector Space -- 推荐系统
2019-04-28
B+树 -- MySQL数据库索引
2019-04-28
A*搜索算法--游戏寻路
2019-04-28
我把公众号所有的精华文章都整理出来了
2019-04-28
ROS中的坐标系规定及数据单位
2019-04-28
MATLAB - 三维图绘制
2019-04-28
C++语法例程速查笔记(个人笔记)
2019-04-28
ROS学习过程中的错误记录5 - sw2urdf导出功能包的编译错误
2019-04-28
关于机械臂仿真的几款软件简介
2019-04-28
MATLAB - 符号运算(持续更新)
2019-04-28
机器人动力学 - 机器人学中的惯性矩阵坐标转换及在SolidWorks中的测量
2019-04-28
SolidWorks转Simscape Multibody(两种方案)
2019-04-28
Simscape Multibody —— Revolute Joint的使用
2019-04-28
Ubuntu 主机名及用户名颜色显示问题的解决
2019-04-28