方法重载的规则:

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面试题...相关推荐

  1. JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)

    运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...

  2. java 常量池溢出_Java方法区和运行时常量池溢出问题分析(转)

    运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名.访问修饰符.常量池.字段描述.方法描述等. String.intern()是一个native方法,它的作用是:如果字符串常量池 ...

  3. java常量池方法区_Java方法区和运行时常量池溢出问题分析

    运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名.访问修饰符.常量池.字段描述.方法描述等. String.intern()是一个native方法,它的作用是:如果字符串常量池 ...

  4. 关于Kotlin修饰符internal和Java的默认修饰符的区别

    前言 在讲述问题前我们先了解下Java和Kotlin可见性修饰符. Java可见性修饰符public.protected.default(默认修饰符).private可见性如下: 修饰符\作用域 当前 ...

  5. [转载] 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围

    参考链接: Java中的访问修饰符 * 问题:说说Java中接口.类.成员变量.成员方法.构造方法有哪些访问修饰符和他们的作用范围 * 答:接口的访问修饰符只有public 1个 *    类的访问修 ...

  6. Java如何调用方法的重载_java方法重载时的调用选择

    重载:方法名相同,参数列表不同:参数列表包括参数的个数,类型,不包括参数的返回值,抛出的异常等. 对于方法重载时具体调用的选择,往往不是很清晰,看代码: public class TestOverlo ...

  7. java重载_Java的重载与覆盖,傻傻分不清!

    重载和覆盖是JAVA多态性的不同表现方式,其中重载是在一个类中多态性的一种表现,是指在一个类中定义了多个同名的方法,他们或有不同参数个数或有不同参数类型. 在使用重载时需注意以下几点: 1)重载是通过 ...

  8. java 方法 时间_Java 方法

    方法的概念 方法就是将功能重复的代码封装成一段独立的小程序,通过调用方法的方式以提高代码的复用性(减少代码重复) int year = 2020; if ( year % 4 == 0 &&a ...

  9. java方法头_java方法学习

    java方法学习 方法概念 什么是方法 方法就是完成某些事情的过程,如:实现两个数相加,用方法add(数值1,数值2). 1.System.out.print(),System是系统的一个类,out是 ...

最新文章

  1. 以太坊知识教程------智能合约(2)调用 delegatecall call send
  2. C核心技术手册(五)
  3. 修改webpack配置,在react中使用less
  4. 无根二叉树_无根Podman如何工作?
  5. Tomcat执行start文件后有乱码
  6. git eclipse 取消误操作 ignore(忽略)文件
  7. HTTPS实战之单向验证和双向验证
  8. Python入门--面向过程,面向对象,类与对象
  9. java教程配置通达信_通达信公式转换JAVA,一招最绝的选股技巧
  10. 丹尼斯·里奇的自述简历
  11. C++ stringstream 从字符串中分离单词
  12. 勒让德多项式的正交性和归一化
  13. GIS招聘 | 云南省自然资源厅所属事业单位
  14. 微信发红包案例测试场景
  15. IDEA Git缓慢
  16. 手机屏幕如何投屏到电脑上(Windows10)
  17. Error loading property file
  18. mysql rpc_启用mysql作用
  19. linux中安装mysql无法启动不了_Linux中安装mysql之后 mysql服务不能启动是怎么回事?...
  20. Ext3、Ext4、FAT、FAT32、NTFS、exFAT、Sparse、Raw

热门文章

  1. vector函数python_Smooth Support Vector Regression - Python实现
  2. Java使用继承的语法是,Java使用继承
  3. tp5 ajax 返回数据正常状态码却为500
  4. python atan_Python
  5. 山东理工大计算机专业学什么科目,2020年山东理工大学计算机科学与技术学院880数据结构硕士研究生入学考试科目大纲...
  6. python中的itertools_在python中使用itertools操作csv数据
  7. php比较float大小,PHP中两个float(浮点数)比较实例分析
  8. python 可视化饼图_Python可视化学习(饼状图,坐标系...)
  9. java 如何循环执行一个对象_一个Java对象到底有多大?
  10. 临床医学与计算机考研哪个好考,临床医学考研院校难度概况