- 浏览: 1093788 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
一、方法重写(Override)
子类可以重写父类的方法。
方法的返回值类型、参数类型、参数个数都不能改变,只能重写方法体。
方法的重写规则
- 参数列表必须完全与被重写方法的相同;
- 返回类型必须完全与被重写方法的返回类型相同;
- 访问权限不能比父类中被重写的方法的访问权限更低。
例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
解释:用于多态(父类引用子类对象)。
- 声明为final的方法不能被重写。
- 构造方法不能被重写。
- 如果不能继承一个方法,则不能重写这个方法。
如:父类中 private 的方法不能被子类重写。
- 声明为static的方法不能被重写,但是能够被再次声明。
- 子类中重写的方法不能抛出比父类更广泛的异常。
解释:用于多态(父类引用子类对象)。
二、方法重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。
返回类型可以相同也可以不同。
方法的重载规则
-被重载的方法必须改变参数列表;
-被重载的方法可以改变返回类型;
-被重载的方法可以改变访问修饰符;
-被重载的方法可以声明新的或更广的检查异常;
三、多态(Polymorphism)
Polymorphism : the condition of occurring in several different forms.
- 父类可以引用不同的子类,这就是多态。
- 实现多态有三个必要条件:继承、重写、向上转型。
- 在Java中有两种形式可以实现多态:继承和接口。
注意:
1、父类的引用可以调用父类中定义的属性和方法(可能被子类重写),
但不能引用子类自己定义的属性和方法。
2、子类的引用指向子类对象时,可以调用父类的方法。
例子:
引用:
http://www.cnblogs.com/chenssy/p/3372798.html
http://www.runoob.com/java/java-override-overload.html
-
子类可以重写父类的方法。
方法的返回值类型、参数类型、参数个数都不能改变,只能重写方法体。
方法的重写规则
- 参数列表必须完全与被重写方法的相同;
- 返回类型必须完全与被重写方法的返回类型相同;
- 访问权限不能比父类中被重写的方法的访问权限更低。
例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
解释:用于多态(父类引用子类对象)。
- 声明为final的方法不能被重写。
- 构造方法不能被重写。
- 如果不能继承一个方法,则不能重写这个方法。
如:父类中 private 的方法不能被子类重写。
- 声明为static的方法不能被重写,但是能够被再次声明。
- 子类中重写的方法不能抛出比父类更广泛的异常。
解释:用于多态(父类引用子类对象)。
二、方法重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。
返回类型可以相同也可以不同。
方法的重载规则
-被重载的方法必须改变参数列表;
-被重载的方法可以改变返回类型;
-被重载的方法可以改变访问修饰符;
-被重载的方法可以声明新的或更广的检查异常;
三、多态(Polymorphism)
Polymorphism : the condition of occurring in several different forms.
- 父类可以引用不同的子类,这就是多态。
- 实现多态有三个必要条件:继承、重写、向上转型。
- 在Java中有两种形式可以实现多态:继承和接口。
注意:
1、父类的引用可以调用父类中定义的属性和方法(可能被子类重写),
但不能引用子类自己定义的属性和方法。
2、子类的引用指向子类对象时,可以调用父类的方法。
例子:
public class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A"); } } public class B extends A{ public String show(B obj){ return ("B and B"); } public String show(A obj){ return ("B and A"); } } public class C extends B{ } public class D extends B{ } public class Test { public static void main(String[] args) { A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println("1--" + a1.show(b)); System.out.println("2--" + a1.show(c)); System.out.println("3--" + a1.show(d)); System.out.println("4--" + a2.show(b)); System.out.println("5--" + a2.show(c)); System.out.println("6--" + a2.show(d)); System.out.println("7--" + b.show(b)); System.out.println("8--" + b.show(c)); System.out.println("9--" + b.show(d)); } } /* 1--A and A 2--A and A 3--A and D 4--B and A 5--B and A 6--A and D 7--B and B 8--B and B 9--A and D */
引用:
http://www.cnblogs.com/chenssy/p/3372798.html
http://www.runoob.com/java/java-override-overload.html
-
发表评论
-
java 将文件夹所有的文件合并到指定的文件夹下
2020-06-30 19:17 987场景:将文件夹所有的文件合并到指定的文件夹下 另外:如果想效 ... -
多线程-线程池的四种创建方式
2020-04-01 18:38 419多线程-线程池的四种创建方式 https://blog.cs ... -
Java基础之:nio
2019-11-13 15:38 419一、理论讲解: 史上最强Java NIO入门:担心从入门到放弃 ... -
Java 分布式之:RPC 基本概念
2019-11-13 15:07 406转载: https://www.jianshu.com/p/ ... -
Java之 volatile 关键字原理详解
2019-11-07 15:36 450一、什么是 volatile ? ... -
POI实现excell批注背景图片(仿html浮窗显示图片)
2019-10-21 08:17 611POI实现excell批注背景图片(仿html浮窗显示图片) ... -
Java之设计模式之 Observer 观察者
2019-07-04 17:21 981观察者设计模式 Java 已经实现了该模式,并且提供了使用类 ... -
HashMap, LinkedHashMap and TreeMap
2019-03-01 11:04 630https://stackoverflow.com/a/177 ... -
Java lib 操作 excel 插入图片
2019-01-19 12:46 847https://poi.apache.org/componen ... -
数据库连接池C3P0
2018-05-29 16:50 821一、名字的由来 很多 ... -
Java8之集合(Collection)遍历 forEach()、stream()
2018-05-29 14:39 20668package java8.collections; ... -
Junit Vs main on "java.util.concurrent.Executors"
2017-11-10 16:44 739Same code with different result ... -
Java之大数据学习路线
2017-11-03 10:08 5680三个月大数据研发学习 ... -
Java中创建对象的5种方式
2017-10-26 14:21 816一、Java之5种创建对象的方式 ————————————— ... -
Log4j和Slf4j的比较
2017-06-23 12:41 1372一直搞不清 Log4j 和 SLF4j 的关系。今天才若有所 ... -
Java之Java7新特性之try资源句式
2017-04-20 14:58 5349Java之Java7新特性之try资源句式 一、【try资源 ... -
Java之 java.util.concurrent 包之ExecutorService之submit () 之 Future
2017-03-04 21:27 3778一、如何使用 ExecutorService.submit() ... -
Java之 java.util.concurrent 包之Executor与ExecutorService
2017-03-04 21:18 2656一、问题: execute() 与 submit() 的区别? ... -
JAVAEE之单用户登录
2017-02-05 11:55 1038单用户登录是系统中数据一直性的解决方案之一。 问题背景: 试 ... -
Java之多线程之线程池之线程重复使用
2017-02-04 13:33 5532一、问题背景 在使用多线程时,如果要开启一个任务,则就需要新 ...
相关推荐
主要介绍了Java中继承、多态、重载和重写介绍,需要的朋友可以参考下
java 重载,重写以及继承,多态的区别
[Java]重载,重写以及继承,多态的区
重载,重写,覆盖,多态的深刻剖析,具体分析了重载,重写,覆盖,多态之间的区别
这个PPT详细展示了java的多态重载和重写,展示了重载和覆盖的不同点及区别办法
java 重载,继承,重写和多态的区别. 下面的例子包含了这四种实现
java的多态机制的讲解,重写,重载,子类父类的继承 java多态的应用
* 对父类Shape中getSide方法进行重写,实现多态 * @return */ public int getSides() { return 3; } // end // begin /** * 3. 重写和被重写方法返回值必须相同 * 此方法错误 */ // public double ...
super () 方法始终指向调用类的父类 调用父类构造方法 演示:示例 3 多态性 2-1 多态性是指¡°多种形式¡± 它使用不同的实例而执行不同操作 多态包括方法重写和方法重载 多态性 2-2 方法重载 2-1 方法重载 2-2 ...
抽象类/类案例(宠物 主人 看病)
本文主要介绍Java 的重载和重写,学习java的同学都知道Java的多态有多重要,这里给大家举例说明函数的重载和重写,希望能帮助有需要的小伙伴
主要介绍了浅谈Java中的重载,重写,多态,静态绑定、动态绑定,具有一定借鉴价值
实现重载(overload)和重写(override) 调用中用到多态,向上转换,强制转换 所有被创建的类,都各自创建两个实现接口 最底层的类中创建内部类,并在外部类中调用内部类的方法
本文精选了20道高难度的Java多态性面试题,并提供详细的答案解析,涵盖了多态性的概念、实现方式、绑定类型、重写与重载的区别等关键知识点。通过深入理解和掌握Java多态性,可以提升面试者的编程能力和解决问题的...
// 下面几个方法用来验证可以通过定义不同的参数类型和参数的数目进行方法重载。 public void fun(){ System.out.println("method fun in OverloadTest, no parameter"); } public void fun(float f) { System...
主要介绍了java中重载,继承,重写和多态的区别,需要的朋友可以参考下
3.3 重载和重写;3.3 重载和重写;3.3.1 重载;3.3.1 重载;3.3.1 重载;3.3.2 重写;3.3.2 重写;3.3.2 重写;3.3.3 重写覆盖问题;3.3.4 学生实践练习;3.3.4 学生实践练习;3.4 多态;3.4 多态;3.4.1 多态应用;3.4.1 多态应用...
方法重载与方法重写的区别? 方法重载(Overload):是指方法名字相同,参数的个数、类型、次序不同。 方法重写(Override/Overwrite):是指子类重写了从父类继承过来的方法。 区别:方法重载没有继承、属于一种静态联编...
设计一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数为一个、二个、三... 再派生出三个子类,重写area()方法,然后在main方法中用多态来实现具体的面积函数的调用)。
方法的重载和重写都是实现多态的方式,前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载指的是一个类中具有多个功能相似的函数。重写是指子类继承了父类的方法并且覆盖了子类的方法。 方法重载的...