Java中的继承
1.继承的基本概念
当多个类之间存在相同的属性和方法时,在父类中定义这些相同的属性和方法,所有的子类无需重新定义这些属性和方法,只需要通过extends语句声明继承Base类。
(1)继承的东西
a.当sub类和base类位于同一个包中时,sub类继承base类中public,protected和默认访问级别的成员(包括成员变量和成员方法);
b.当sub类和base类位于不同的包中时,sub类继承base类中的public和protected访问级别的成员。
(2)Java不支持多继承
(3)Java支持多级继承,所有的Java类都直接或者间接地继承了java.lang.Object类,Object类中定义了所有Java对象都具有的相同行为,位于下层的子类会继承上层所有直接或间接父类的属性和方法。
2.方法重载
(1)两个方法的方法名相同;
(2)方法的参数类型,个数,顺序至少有一项不相同;
(3)方法的返回类型可以不相同
(4)方法的修饰符可以不相同
编译器依靠方法名和参数签名来区分调用哪个方法,参数签名指参数类型,参数个数和参数顺序。
3.方法覆盖
(1)子类中的一个方法,a.名称,b.返回类型和c.参数签名与父类中的某个方法的名称,返回类型和参数签名相匹配,那么,子类的方法覆盖了父类的方法; 注意三个条件:函数名,参数列表和返回类型
编译器会首先判断方法的方法名和参数签名,如果完全相同,编译器会认为是子类方法对父类方法的覆盖,这时如果返回类型不同,会出现编译错误
(2)子类不能缩小父类方法的访问权限
(3)子类方法不能抛出比父类方法更多的异常,子类方法抛出的异常必须和父类方法抛出的异常相同,或者是父类方法抛出异常的子类
(4)同一个类中的方法只能够被重载,不能够被覆盖
(5)父类的静态方法不能被子类覆盖为非静态方法,父类的非静态方法也不能被子类覆盖为静态方法。
(6)关于静态方法,子类可以定义与父类的静态方法同名,以便在子类中隐藏父类的静态方法
同覆盖父类的实例方法一样�
相关文档:
结合本人学习经验和网上培训机构的资料,列出java学习的顺序。
一:J2SE
○面向对象-封装、继承、多态
○内存的分析
○递归
○集合类、泛型、自动打包与解包、Annotation
○IO
○多线程、线程同步
○TCP/UDP
○AWT、事件模型、匿名类
○正则表达式
○反射机制
2:数据库(Oracle或者MySQL)
○SQL语句
......
最近项目中有需要用到股价,于是在网上找了一番,没有一个直接就能用的。自己摸索了一下,终于搞定一个顾大家参考。
package test;
import java.util.Arrays;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**
*
* 功能概述:<br>
* ......
/*===================MXML代码==================*/
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button label="测试Array" click="bk()"/>
<mx:Script>
<!--[CDATA[
import mx.collection ......
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随 ......
Java读文件写文件操作
By Aillo on March 27, 2008 7:56 PM | 0 Comments | Previous | Next | EDIT
这里,Java的读文件和写文件都是基于字符流的,主要用到下面的几个类:
1、FileReader----读取字符流
2、FileWriter----写入字符流
3、BufferedReader----缓冲指定文件的输入
该类的方法有:
......