Java 构造方法、final
构造方法:构造(创建)对象时使用的方法。
- 方法名必须与类名称完全相匹配;
- 构造方法不需要返回类型;
- 构造方法不能被static、final等关键字修饰,且不能有return返回语句;
- 伴随着new被调用
- 构造方法不会被继承,但是子类创建对象时会执行父类的构造方法,因为子类中所有构造方法的第一行有默认的隐式super()语句
1.隐式无参构造方法
默认自带的,无参,并且方法体是空的,啥都没有。如果重写了任何一个,则这个空的就没了。
2.显式无参构造方法
重写默认自带的构造方法,在方法体里写点东西
3.显式有参构造方法
一般用于将参数值 传给 对象里的属性值
关于构造方法的几种情况
1.重写构造方法后,原本的默认无参构造方法就没了,但是new的时候需要执行,如果重写的构造方法时有参,则需要传参; 如果父类只有有参构造方法,则子类构造方法也需要参数,此时需要写super(参数);为了执行父类的构造方法。
2.父类构造方法只能在子类构造方法里被调用,用super();调用
3.调用父类普通方法,super.方法名();

final(不可变)
- final修饰的类不能被继承,即和abstract矛盾
- final修饰的方法不能被继承或重写,即不能被改变,private修饰的方法也是这样
- final修饰的变量需要定义初始值,并且不能修改。定义初始值的方式有2中,直接赋值 和 通过构造方法赋值(在new的时候初始化),都只初始化一次并且之后不可被修改。static也只初始化一次,但是static的变量可以改变
- final修饰的对象可以改变属性值,但是不能改变该对象的引用地址
牛客刷题:
1.系统总是自动给一个类提供构造方法。错。只有不声明构造方法时,系统才提供默认无参构造方法。
Java 构造方法、final的更多相关文章
- Java关键字final、static
一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final ...
- 【转】Java关键字final、static使用总结
转自:http://lavasoft.blog.51cto.com/62575/18771/ Java关键字final.static使用总结 一.final 根据程序上下文环境, ...
- Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- 转!Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...
- Java关键字final、static使用总结(转)
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- (转)Java关键字final、static使用总结
一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. fin ...
- [Java] 关键字final、static使用总结
一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.final ...
- java中final的意义
1.如果一个数据既是static又是final,那么它会拥有一块无法改变的存储空间. 2.final data: 当final用于基本数据类型时,final让其值(value)保持不变,但是当用于ob ...
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
- JAVA面向对象-----final关键字
JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ...
随机推荐
- css line-height [转]
原文: http://www.cnblogs.com/dolphinX/p/3236686.html https://www.cnblogs.com/yangjie-space/p/4858132.h ...
- MYSQL插入千万数据的工具类
建表语句 CREATE TABLE `test_id` ( `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键自增非空', `name` varchar( ...
- PHP curl cookie不识别
PHP curl cookie不识别 所以curl的时候别用setcookie 用了也没用
- 问题追查:QA压测工具http长连接总是被服务端close情况
1. 背景 最近QA对线上单模块进行压测(非全链路压测),http客户端 与 thrift服务端的tcp链接总在一段时间被close. 查看服务端日志显示 i/o timeout. 最后的结果是: q ...
- 【转帖】修改Windows网卡的MTU
修改Windows网卡的MTU https://blog.csdn.net/sunny05296/article/details/103438653 原创sunny05296 发布于2019-12-0 ...
- mybatis 报Invalid bound statement(not found) 和 Property 'mapperLocations' was not specified or not matching resources found
排除问题的步骤: 1.首先检查mapper文件和mapper接口的文件名是否相等. 2.pom.xml是否把xml排除了,这样写就会src/main/java下所有的Mybatis的xml文件都删除, ...
- C#异步的世界【上】(转)
新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...
- Prometheus 与 Alertmanager 通信
Prometheus 与 Alertmanager 通信 1.编辑Prometheus配置文件配置连接地址:vim prometheus.yml # Alertmanager configuratio ...
- 【CTS2019】氪金手游(动态规划)
[CTS2019]氪金手游(动态规划) 题面 LOJ 洛谷 题解 首先不难发现整个图构成的结构是一棵树,如果这个东西是一个外向树的话,那么我们在意的只有这棵子树内的顺序关系,子树外的关系与这棵子树之间 ...
- Mysql序列(八)—— group by排序问题
在mysql中,group by默认会执行排序: By default, MySQL sorts GROUP BY col1, col2, ... queries as if you also inc ...