- 浏览: 88770 次
- 性别:
文章分类
- 全部博客 (151)
- Spring-MVC学习 (5)
- 偶然间发现 (2)
- easyUi学习 (7)
- web项目相关技术 (4)
- java学习 (26)
- webService (4)
- 一些工具的安装使用 (7)
- js学习 (20)
- Sping学习 (7)
- mybatis学习 (5)
- 定时器 (4)
- oracle (2)
- JSP学习 (6)
- HTML一些标签 (1)
- web服务 (2)
- 偶尔得到的地址 (2)
- 常用的代码记录 (2)
- 设计模式 (1)
- java常使用的开源API (1)
- maven (1)
- Socket (1)
- nginx (2)
- jquery (3)
- poi (2)
- 写过的工具类 (19)
- 微信开发 (2)
- mysql (1)
- freemarker (2)
- ftp (1)
- 用过的软件 (1)
- jconsole (1)
- log4j (1)
- redis的简单入门使用 java调用redis (0)
- redis的使用 (2)
- 生活相关的 (1)
最新评论
-
chokee:
...
easyUi学习之开启行编辑模式增删改操作 -
lijie_insist:
就是有的界面需要显示天气啊!所以你要调用天气的接口啊 因为很多 ...
免费的天气接口的一个demo -
zhglance:
请问这是干什么用的呢?
免费的天气接口的一个demo
重载方法满足以下条件:
1. 方法名要相同
2. 方法参数不同(数量,类型,顺序)
3. 返回值可以同可不同
4. 修饰符号可同可不同
方法的覆盖满足以下条件:
1. 首先要有继承
2. 子类方法名称和方法签名必须与覆盖的方法相同
3. 子类方法的返回类型必须与覆盖的方法相同
4. 子类不能缩小所覆盖方法的访问权限
5. 子类方法不能抛出比覆盖方法更多的异常
方法的重载(overload)就是:
方法名相同,方法参数的个数,顺序,类型至少有一个不同,方法返回类型可以不同,修饰符也可以不同。
方法的重写覆盖(override):子类(所以说要有继承)方法的名称,返回类型,参数签名必须和父类的是一样的,且子类不能缩小父类的访问权限(public,private。。),这违背了多态,子类不能抛出比父类更多或者大的异常 ,重写只能存在于子类和父类,在同一个类中只存在重载,不存在重写。父类的静态方法不能被子类覆盖成非静态的方法,但是子类可以定义和父类同名的静态方法来影藏父类的静态方法,但是也要满足覆盖的条件。子类影藏父类的静态方法和覆盖父类的实例方法的区别在于,在运行时,java虚拟机把静态方法和所属的类绑定,而把实例方法和所属的实例绑定。同样父类的非静态方法不能被子类覆盖成静态方法。父类的私有方法不能被子类覆盖,因为覆盖的前提是子类继承了那个方法,而私有的并没有被继承。最后就是抽象的。父类的抽象方法可以通过两种路径覆盖,第一种是实现父类的抽象方法,并扩大权限,第二种是重新声明抽象方法,但不实现,仅仅为了扩大权限,父类的非抽象方法可以重载为抽象方法(183页,孙为琴 面向对象)
多态的特征:
1. 对于一个引用类型的变量,编译器按照他申明的类型处理
2. 对于一个引用类型的变量,运行时java虚拟机按照他实际引用的对象处理
3. 在运行时环境中,通过引用变量来访问所应用对象的方法和属性时,采用如下绑定规则:实例方法与引用变量实际引用的对象的方法绑定(既实例方法绑定其对象);静态方法与引用变量所声明的类型的方法绑定(既静态方法绑定起引用变量的类型);成员变量(包括静态变量和实例变量)与引用变量所声明的类型的成员变量绑定(既属性绑定期引用变量的类型)
继承的特征: 继承关系最大的弱点是打破了封装,子类能够访问父类的实现细节,子类与父类之间紧密耦合,子类缺乏独立性,从而影响子类的可维护性。为了尽可能的避免这一缺陷,应该遵循以下原则:
1. 精心设计专门用来被继承的类,继承树的抽象出比较稳定
2. 对于父类中不允许被覆盖的方法,采用final修饰符来禁止被子类覆盖
3. 对于不是专门用来被继承的类,禁止被继承
4. 休闲考虑用组合关系提高代码的 可重用性
1. 方法名要相同
2. 方法参数不同(数量,类型,顺序)
3. 返回值可以同可不同
4. 修饰符号可同可不同
方法的覆盖满足以下条件:
1. 首先要有继承
2. 子类方法名称和方法签名必须与覆盖的方法相同
3. 子类方法的返回类型必须与覆盖的方法相同
4. 子类不能缩小所覆盖方法的访问权限
5. 子类方法不能抛出比覆盖方法更多的异常
方法的重载(overload)就是:
方法名相同,方法参数的个数,顺序,类型至少有一个不同,方法返回类型可以不同,修饰符也可以不同。
public class TestConstract { public static void main(String[] args, int r) { } //少一个参数,返回类型也不影响 public static int main(String ag) { return 0; } //当参数相同时报错,返回值不同时,报错,所以返回值不是重载的条件 // public static int main(String[] args, int r){ // return 0; // } // //修饰符也不是构成重载的条件 // private static int main(String[] args,int r){ // return 0; // } //参数顺序不同,没问题 public static void main(int r,String[] args){ } /** * 总得来说,影响方法重载的是参数的类型,参数顺序和个数。 */ }
方法的重写覆盖(override):子类(所以说要有继承)方法的名称,返回类型,参数签名必须和父类的是一样的,且子类不能缩小父类的访问权限(public,private。。),这违背了多态,子类不能抛出比父类更多或者大的异常 ,重写只能存在于子类和父类,在同一个类中只存在重载,不存在重写。父类的静态方法不能被子类覆盖成非静态的方法,但是子类可以定义和父类同名的静态方法来影藏父类的静态方法,但是也要满足覆盖的条件。子类影藏父类的静态方法和覆盖父类的实例方法的区别在于,在运行时,java虚拟机把静态方法和所属的类绑定,而把实例方法和所属的实例绑定。同样父类的非静态方法不能被子类覆盖成静态方法。父类的私有方法不能被子类覆盖,因为覆盖的前提是子类继承了那个方法,而私有的并没有被继承。最后就是抽象的。父类的抽象方法可以通过两种路径覆盖,第一种是实现父类的抽象方法,并扩大权限,第二种是重新声明抽象方法,但不实现,仅仅为了扩大权限,父类的非抽象方法可以重载为抽象方法(183页,孙为琴 面向对象)
多态的特征:
1. 对于一个引用类型的变量,编译器按照他申明的类型处理
2. 对于一个引用类型的变量,运行时java虚拟机按照他实际引用的对象处理
3. 在运行时环境中,通过引用变量来访问所应用对象的方法和属性时,采用如下绑定规则:实例方法与引用变量实际引用的对象的方法绑定(既实例方法绑定其对象);静态方法与引用变量所声明的类型的方法绑定(既静态方法绑定起引用变量的类型);成员变量(包括静态变量和实例变量)与引用变量所声明的类型的成员变量绑定(既属性绑定期引用变量的类型)
继承的特征: 继承关系最大的弱点是打破了封装,子类能够访问父类的实现细节,子类与父类之间紧密耦合,子类缺乏独立性,从而影响子类的可维护性。为了尽可能的避免这一缺陷,应该遵循以下原则:
1. 精心设计专门用来被继承的类,继承树的抽象出比较稳定
2. 对于父类中不允许被覆盖的方法,采用final修饰符来禁止被子类覆盖
3. 对于不是专门用来被继承的类,禁止被继承
4. 休闲考虑用组合关系提高代码的 可重用性
发表评论
-
ajax的分页分页请求,通过ajax来分页
2015-12-01 14:55 395这里面通过自定义标签实现的,因为项目没有采用jsp模板而是用的 ... -
java学习之JAXB解析xml
2015-08-17 09:07 857时间仓促,只记录代码 //实体类 package com.w ... -
生成验证码的方法
2015-07-17 08:43 2忘了在哪里参考过代码,后来自己参照了写了这一段code pac ... -
javax.mail邮件发送返回状态吗
2015-07-02 17:35 1511项目需要集成邮件发送,之前在.net下写过smtp的邮 ... -
javax.mail邮件发送
2015-06-30 12:50 0package com.demo.common; impor ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2015-06-04 11:31 381原地址:http://www.cnblogs. ... -
JDBC学习
2015-04-21 10:02 253原文来自:http://blog.csdn.net/fight ... -
j2ee web项目的基本结构
2015-03-20 14:50 479原地址:http://www.cnblogs.co ... -
HTTP 返回的状态码的含义
2015-03-20 14:38 377在网上看到的,总结的蛮 ... -
java学习之try catch finally中的return语句执行
2015-03-10 14:21 475http://blog.csdn.net/kavensu/ar ... -
java反射机制的学习
2015-03-06 13:39 299http://blog.csdn.net/zzjjiandan ... -
java学习之时间类的使用
2015-03-06 10:26 401有时候要对时间进行各方面的操作,这里就记录下最近使用到的对时间 ... -
为什么接口的属性用public static final修饰
2015-03-05 09:14 510每次只是看了看.好多都没去实践和去想! 自己写了个接口才会想到 ... -
正则表达式的学习
2015-03-04 11:10 302http://help.locoy.com/Document/ ... -
面向对象的特征
2015-03-02 17:56 322今天看到一篇文章对面 ... -
Class.forName("className"),class.getClass,class.class区别
2015-02-27 17:43 327今天看java.lang.reflect包中的信息时,想到了这 ... -
java调用webservice(asmx)的例子
2015-02-04 16:54 378转自:http://www.blogjava.net/jerr ... -
java学习之流的学习
2015-01-21 14:12 316因为经常用到流,并且发现java中的数据流的确很多种类,而自己 ... -
java学习之图片上传,下载显示demo
2015-01-19 10:43 2496每次都是用的框架来弄 ... -
java学习之String的一些处理函数
2014-12-12 17:17 493前两天开发一个关于解析数据的一个小功能,发现需要大肆的用到St ...
相关推荐
// 对overload测试的文件:OverloadTest.java public class OverloadTest { // 下面几个方法用来验证可以通过定义不同的参数类型和参数的数目进行方法重载。 public void fun(){ System.out.println("method ...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = ...
7. Overload和Override的区别,试用java代码举例。 8. error和exception有什么区别? 9. abstract class和interface有什么区别? 10. final, finally, finalize的区别,试用java代码示例。 11. 什么时候用assert。...
安卓java读取网页源码 questions 自问自答 待初答 注:认真对待每一个答案。 Java String、StringBuilder ...重写(Override)与重载(Overload)的区别 父类的静态方法能否被子类重写 静态属性和静
一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 23 29、super.getClass()方法调用 23 30、String是最基本的数据类型吗? 24 31、String s = "Hello...
7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能...
14、构造器可不可以被重载或重写? 16 15、Java中有没有多继承? 16 16、抽象类和接口的区别? 17 17、java中实现多态的机制是什么? 17 19、String和StringBuffer的区别?StringBuffer和StringBuilder区别? 17 21...
Overload [java] 方法的重载(不同参数列表的同名方法) [,әuvә'lәud] Override [java] 方法的覆盖(覆盖父类的方法) [,әuvә'raid] polymiorphism[java] 多态 (polymorphism 多形性[,pɒli'mɒ:fizm]) ...
14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一...
44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以implements(实现)interface(接口)? 12 45、内部类可以引用他包含类的成员吗?有没有什么限制? 12 46、java 中实现多态的机制是什么...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 29、super.getClass()方法调用 30、String是最基本的数据类吗? 31、String s = "Hello";s = s +...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = ...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...
【基础】重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 17 【基础】abstract class和interface有什么区别? 18 【基础】静态嵌套类(Static Nested Class)和内部类(Inner Class)...
68. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 15 69. LINUX下线程,GDI类的解释。 15 70. java常用的设计模式?说明工厂模式。 15 71. 内部类可以...
28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...