java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...
方法重载的规则:
1、必须发生在同一个类的下面
2、必须保证方法名字相同
3、参数列表不同
参数的类型不同
参数的个数不同
参数的顺序不同
4、返回值:和返回值无关
5、修饰符:和修饰符无关
6、抛出异常:无关
例子:
public void add(int i);
public void add(double d);
public void add(long l);
poublc void add(String s);
方法重写(也叫做覆写):
1、一定发生在继承关系中
2、子类中重写父类中存在的方法
3、规则:
方法名称必须相同
参数列表必须相同
子类返回值类型可以比父类小,至少要相同
子类抛出的异常比父类的小,至少要相同
子类的权限访问必须比父类的大,至少要相同
例子:
如果父类返回值是默认的,子类重写返回值不可以为private,可以与父类相同也可以定义为public;
总结:重写要满足 "在子父类中,两同两小一大""
static修饰符:(静态)
修饰变量:静态变量,被该类的所有对象共享,只存在一个
成员变量:只能修饰这个
局部变量:不可以修饰局部变量
修饰方法:静态方法
静态方法中不能够出现非静态的成员变量
静态方法的调用方式:类名.方法名();不用创建对象,因为依赖与类存在
非静态方法中可以使用静态变量
非静态方法的调用方式:对象名.方法名();需要创建对象,因为依赖与对象存在
修饰代码块:静态代码块 {}
静态代码块随着程序的运行,只会执行一次
非静态的代码块会随着对象的创建而执行,有几个对象,则执行几次
注意:如果同时出现多个静态代码块和普通代码块,则静态代码块优先按照声明的顺序进行,只执行一次,
然后在按照普通代码块的声明顺序开始进行
总结:静态成员依赖于类的存在
非静态(实例)成员是依赖于对象的存在
final修饰符:(最终的、最后的、不可改变的)
变量:
final变量能被显示的初始化并且只能初始一次,被声明为final的对象的引用不能指向不同的对象,但是final对象里的数据可以被改变 也就是说final对象的引用不能改变,但是里面的值可以改变; final修饰变量相当于一个常量,只可以赋值一次;
静态变量:必须在声明的时候显性的赋值
实例变量:可以在声明阶段先声明,可以在构造器中进行初始化,如果有多个构造器,则每一个构造器中都要对该实例变量进行初始化
方法:
被final修饰的方法不可以被子类重写
类:
final修饰类不可以被继承,说明该类功能已经很完整,不允许再扩展
String
StringBuffer
StringBuilder
append
代码块:不能修饰代码块
构造器:不能修饰构造器
java final 方法重载_java方法重载和覆写的定义,static和final修饰符的讲解,java面试题...相关推荐
- JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)
运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...
- java 常量池溢出_Java方法区和运行时常量池溢出问题分析(转)
运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名.访问修饰符.常量池.字段描述.方法描述等. String.intern()是一个native方法,它的作用是:如果字符串常量池 ...
- java常量池方法区_Java方法区和运行时常量池溢出问题分析
运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名.访问修饰符.常量池.字段描述.方法描述等. String.intern()是一个native方法,它的作用是:如果字符串常量池 ...
- 关于Kotlin修饰符internal和Java的默认修饰符的区别
前言 在讲述问题前我们先了解下Java和Kotlin可见性修饰符. Java可见性修饰符public.protected.default(默认修饰符).private可见性如下: 修饰符\作用域 当前 ...
- [转载] 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围
参考链接: Java中的访问修饰符 * 问题:说说Java中接口.类.成员变量.成员方法.构造方法有哪些访问修饰符和他们的作用范围 * 答:接口的访问修饰符只有public 1个 * 类的访问修 ...
- Java如何调用方法的重载_java方法重载时的调用选择
重载:方法名相同,参数列表不同:参数列表包括参数的个数,类型,不包括参数的返回值,抛出的异常等. 对于方法重载时具体调用的选择,往往不是很清晰,看代码: public class TestOverlo ...
- java重载_Java的重载与覆盖,傻傻分不清!
重载和覆盖是JAVA多态性的不同表现方式,其中重载是在一个类中多态性的一种表现,是指在一个类中定义了多个同名的方法,他们或有不同参数个数或有不同参数类型. 在使用重载时需注意以下几点: 1)重载是通过 ...
- java 方法 时间_Java 方法
方法的概念 方法就是将功能重复的代码封装成一段独立的小程序,通过调用方法的方式以提高代码的复用性(减少代码重复) int year = 2020; if ( year % 4 == 0 &&a ...
- java方法头_java方法学习
java方法学习 方法概念 什么是方法 方法就是完成某些事情的过程,如:实现两个数相加,用方法add(数值1,数值2). 1.System.out.print(),System是系统的一个类,out是 ...
最新文章
- 以太坊知识教程------智能合约(2)调用 delegatecall call send
- C核心技术手册(五)
- 修改webpack配置,在react中使用less
- 无根二叉树_无根Podman如何工作?
- Tomcat执行start文件后有乱码
- git eclipse 取消误操作 ignore(忽略)文件
- HTTPS实战之单向验证和双向验证
- Python入门--面向过程,面向对象,类与对象
- java教程配置通达信_通达信公式转换JAVA,一招最绝的选股技巧
- 丹尼斯·里奇的自述简历
- C++ stringstream 从字符串中分离单词
- 勒让德多项式的正交性和归一化
- GIS招聘 | 云南省自然资源厅所属事业单位
- 微信发红包案例测试场景
- IDEA Git缓慢
- 手机屏幕如何投屏到电脑上(Windows10)
- Error loading property file
- mysql rpc_启用mysql作用
- linux中安装mysql无法启动不了_Linux中安装mysql之后 mysql服务不能启动是怎么回事?...
- Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw
热门文章
- vector函数python_Smooth Support Vector Regression - Python实现
- Java使用继承的语法是,Java使用继承
- tp5 ajax 返回数据正常状态码却为500
- python atan_Python
- 山东理工大计算机专业学什么科目,2020年山东理工大学计算机科学与技术学院880数据结构硕士研究生入学考试科目大纲...
- python中的itertools_在python中使用itertools操作csv数据
- php比较float大小,PHP中两个float(浮点数)比较实例分析
- python 可视化饼图_Python可视化学习(饼状图,坐标系...)
- java 如何循环执行一个对象_一个Java对象到底有多大?
- 临床医学与计算机考研哪个好考,临床医学考研院校难度概况