易截截图软件、单文件、免安装、纯绿色、仅160KB

关于java的多态

重载:方法名相同 返回类型和参数至少有一项不同(参数包括类型 和 数量)
重写:发生在子类 方法名 返回类型 参数都相同 只是把父类的此方法重新写而已
一直以来我对Facther f = new Son()这样的引用变量引用子类的实例都不是很懂。
还有就是向上向下转型
如:Animal animal = new Dog() // 引用变量引用了来自子类的实例
      Dog dog = (Dog)animal;     //将animal向下转型
      Creature creature = (Creature)animal //将animal向上转型
成员变量、静态变量, 静态方法按照引用变量声明的类型静态绑定;实例方法按照引用变量引用的实例动态绑定。  
例如,对于以下这段代码: 
Fathers f=new Sons(); 
System.out.println(“f.var=”+f.var); 
System.out.println(“f.staticVar=”+f.staticVar); 
f.method(); 
f.staticMethod(); 
运行时将会输出如下结果: 
f.var=FatherVar  // 成员变量按照引用变量(f)的声明的类型(Father)静态绑定
f.staticVar=StaticFaterVar  // 静态变量按照引用变量(f)的声明的类型(Father)静态绑定
Son method  // 实例方法按照引用变量(f)的引用的实例(new Sons())动态绑定
Static Father method  // 静态方法按照引用变量(f)的声明的类型(Father)静态绑定
class Fathers

String var="FatherVar"; 
static String staticVar="StaticFatherVar"; 
void method(){System.out.println("Father method");} 
static void staticMethod(){System.out.println("Static Father method");} 

class Sons extends Fathers

String var="SonVar"; 
static String staticVar="StaticSonVar"; 
void method(){System.out.println("Son method");} 
static void staticMethod(){System.out.println("Static Son method");} 
}
参考:http://hi.baidu.com/%CE%C4%D3%EA41/blog/item/9330b41f97375dcda68669e5.html


相关文档:

Java中集合容器类List和Set的用法

List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1  List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......

JAVA连接数据库大全

JAVA连接数据库大全
 
 
1.Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:ts"; //ts为数据库的SID
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,u ......

用Java实现非阻塞通信

用ServerSocket和Socket来编写服务器程序和客户程序,是Java网络编程的最基本的方式。这些服务器程序或客户程序在运行过程中常常会阻塞。例如当一个线程执行ServerSocket的accept()方法时,假如没有客户连接,该线程就会一直等到有了客户连接才从accept()方法返回。再例如当线程执行Socket的read()方法时,如果输入流中没有 ......

JAVA NIO TCP SOCKET 聊天群发(并发多线程写消息篇)

服务器中转消息,是费时的事,可以加入多线程。这样以来,会产生很多线程。可以运用线程池来管理。
这里运用java.util.concurrent包的Executors.newCachedThreadPool来管理。
废话少说,上代码:
服务器端:MySocketServer.java
/*
 * To change this template, choose Tools | Templates
 * and open the ......

java 命令行调用,更改当前路径,程序运行出错

自己的源程序是在F:\parser\ParserDemo.java,
使用命令行:javac -classpath stanford-parser.jar;. ParserDemo.java编译,
命令行:java -cp stanford-parser.jar;. Parser运行
都没有问题。
但是当我在c++程序中使用用命令行(java -cp stanford-parser.jar;. Parser)调用改程序就会出错。提示:java.lang.NoClassD ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号