- 浏览: 1115987 次
文章分类
- 全部博客 (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 1083场景:将文件夹所有的文件合并到指定的文件夹下 另外:如果想效 ... -
多线程-线程池的四种创建方式
2020-04-01 18:38 509多线程-线程池的四种创建方式 https://blog.cs ... -
Java基础之:nio
2019-11-13 15:38 500一、理论讲解: 史上最强Java NIO入门:担心从入门到放弃 ... -
Java 分布式之:RPC 基本概念
2019-11-13 15:07 478转载: https://www.jianshu.com/p/ ... -
Java之 volatile 关键字原理详解
2019-11-07 15:36 569一、什么是 volatile ? ... -
POI实现excell批注背景图片(仿html浮窗显示图片)
2019-10-21 08:17 715POI实现excell批注背景图片(仿html浮窗显示图片) ... -
Java之设计模式之 Observer 观察者
2019-07-04 17:21 1095观察者设计模式 Java 已经实现了该模式,并且提供了使用类 ... -
HashMap, LinkedHashMap and TreeMap
2019-03-01 11:04 685https://stackoverflow.com/a/177 ... -
Java lib 操作 excel 插入图片
2019-01-19 12:46 883https://poi.apache.org/componen ... -
数据库连接池C3P0
2018-05-29 16:50 907一、名字的由来 很多 ... -
Java8之集合(Collection)遍历 forEach()、stream()
2018-05-29 14:39 20759package java8.collections; ... -
Junit Vs main on "java.util.concurrent.Executors"
2017-11-10 16:44 840Same code with different result ... -
Java之大数据学习路线
2017-11-03 10:08 5727三个月大数据研发学习 ... -
Java中创建对象的5种方式
2017-10-26 14:21 844一、Java之5种创建对象的方式 ————————————— ... -
Log4j和Slf4j的比较
2017-06-23 12:41 1420一直搞不清 Log4j 和 SLF4j 的关系。今天才若有所 ... -
Java之Java7新特性之try资源句式
2017-04-20 14:58 5388Java之Java7新特性之try资源句式 一、【try资源 ... -
Java之 java.util.concurrent 包之ExecutorService之submit () 之 Future
2017-03-04 21:27 3843一、如何使用 ExecutorService.submit() ... -
Java之 java.util.concurrent 包之Executor与ExecutorService
2017-03-04 21:18 2709一、问题: execute() 与 submit() 的区别? ... -
JAVAEE之单用户登录
2017-02-05 11:55 1063单用户登录是系统中数据一直性的解决方案之一。 问题背景: 试 ... -
Java之多线程之线程池之线程重复使用
2017-02-04 13:33 5574一、问题背景 在使用多线程时,如果要开启一个任务,则就需要新 ...
相关推荐
"java 重载,重写以及继承,多态的区别" Java 中的重载、重写、继承和多态是四个不同的概念,它们之间存在一定的关系,但也存在明显的区别。 重载(Overload) 重载是指在同一个类中可以定义多个同名的方法,但这些...
理解并熟练掌握方法重写和方法重载是Java编程中的基本技能,它们对于实现多态、代码复用以及提高程序的灵活性和可维护性至关重要。在实际编程中,应根据需求灵活运用这两个特性,以编写出高效且易于维护的代码。
在Java编程语言中,重载、重写、继承与多态是四个非常核心的概念,它们在面向对象编程中扮演着至关重要的角色。接下来,我们将详细探讨这些概念,并通过实例加以说明。 ### 重载(Overload) 重载是指在同一个类中...
在面向对象编程语言中,如Java、C#等,重载(Overloading)、重写(Overriding)、覆盖(也称为重写)以及多态(Polymorphism)是几个非常重要的概念。它们之间既有关联又有区别,本文将详细解释这些概念,并探讨...
方法重载是编译时多态,因为Java在编译时根据实际参数确定调用哪个重载方法。而方法覆盖则表现了两种多态性,如果对象引用的是本类实例,编译时多态;如果是子类实例,运行时多态。 综上所述,Java中的覆盖和重载...
多态在Java中主要体现在方法的重载(Overloading)和覆盖(Overriding)上。 1. 多态(Polymorphism) 多态的概念指的是同一种行为可以有不同的表现形式。在Java中,多态主要通过继承和接口来实现。例如,`Person`...
编译时多态主要体现在方法的重载(Overloading),即在同一个类中可以有多个同名方法,但参数列表不同。编译器会根据传入参数的类型和数量来决定调用哪个方法。运行时多态则基于方法的重写(Overriding),子类可以...
在Java编程语言中,方法重写(Method Overriding)和重载(Method Overloading)、多态(Polymorphism)、抽象类(Abstract Class)与抽象方法(Abstract Method)以及`instanceof`关键字是核心的面向对象特性。...
【继承与多态】 继承是面向对象编程中的一个重要...而重载和重写则是实现多态的关键手段,允许我们在不改变接口的情况下,定制方法的行为。这些概念在实际开发中有着广泛的应用,极大地提高了代码的可读性和可维护性。
### Java中的重载、重写、继承与多态 #### 一、重载(Overloading) 在Java中,**重载**是指在一个类内可以有多个名称相同但参数列表不同的方法。这些方法可以通过不同的参数类型、数量或者顺序来进行区分。需要...
多态的实现是通过方法重载和方法重写来实现的。 在 Java 中,多态可以分为两种:编译时多态和运行时多态。编译时多态是通过方法重载来实现的,方法重载是指在同一个类中可以有多个同名的方法,但这些方法的参数列表...
6. ** finalize 方法**:虽然不是直接与多态相关的,但值得注意的是,Java中每个对象都有一个finalize()方法,这是垃圾收集器在回收对象前调用的,子类可以重写这个方法进行资源清理,但这并不保证一定会被调用,...
Java基础之方法重写和多态示例 Java基础之方法重写和多态是Java面向对象程序设计的两个重要概念。方法重写是指子类提供了一个与父类相同的方法签名,但是子类中的方法可以有不同的实现。这使得子类可以根据自己的...
Java编程语言中的重载、继承、重写和多态是面向对象编程的四个核心概念,它们各自具有独特的功能和用途。 1. **重载(Overloading)**: 重载发生在同一个类内部,指的是可以有多个同名方法,但这些方法的参数列表...
- 静态多态(Static Polymorphism):主要通过方法重载(Overloading)实现,即在同一个类中定义多个同名但参数列表不同的方法。 - 动态多态(Dynamic Polymorphism):主要通过方法重写(Overriding)实现,子类...
本文将详细介绍Java中的多态机制,包括重写、重载、子类与父类的继承以及Java多态的应用等方面。 #### 二、多态的定义与重要性 多态性来源于希腊语“polymorphism”,意指“多种形式”。在面向对象编程中,多态是...
这主要体现在方法的重载(Overloading)和方法的重写(Overriding)上。 1. 方法的重载:在同一类中,方法名相同但参数列表不同(参数数量、类型或顺序不同)的方法称为重载方法。这使得我们可以根据传入的不同参数...
在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码,提高程序的复用性和维护性。 首先,我们要理解什么是面向对象编程。面向对象编程(Object...
在Java中,多态主要体现在两个方面:方法重载(Overloading)和方法重写(Overriding)。方法重载是指在一个类中可以有多个同名方法,但参数列表不同;方法重写则是在子类中重新定义父类已有的非私有方法,以提供...