一道java题所揭示的原理
看到一道java题,感觉很不错,我在原来的版本上增加了些代码,一起来看看下面的代码将输出什么
class Father{
int i,j;
Father(){
add(1);
}
void add(int v){
i+=v;
j+=v;
}
void print(){
System.out.println("i:="+i);
System.out.println("j:="+j);
}
}
class Child extends Father{
int i;
Child(){
add(2);
}
void add(int v){
i+=2*v;
j+=2*v;
}
void _print(){
System.out.println("ci:="+i);
}
}
public class Test {
public static void main(String[] args) {
Child c =new Child();
c.add(8);
c.print();
c._print();
}
}
输出结果:
i=0;
j=22;
ci=22;
分析一下:这是一个继承结构,child继承了Father的 j 和 print ()。
抓住两个重点
:
1,在类被编译时作了些什么呢
Father Child
------- --------
┌──> j <──── @ i
│ ------- --------
│──> j <──── @ j <─┐
│ ------- -------- │
│ add() add() ─┤
│ ------- ------- │
└──print() <─ @ print() │
------- ------- │
┌── _print() │
│ -------- &
相关文档:
java ip地址转换为长整型;
public class Util {
/**
* 字符串ip转换为long
* @param 字符串ip
* @return
*/
public static long getStr ......
学到JAVA的面对对象,发现如此强大!
万物皆对象,万物为我所用!
对JAVA产生强烈的好感!
但对于Sun公司的收购,JAVA不知会如何?
--------------------------------------------------
这第一篇文章,是我在CSDN的开端。
之后我会更新我的博客,写上一些学习感受。
希望能在这里找到一片新的天地! ......
最近有网友问:如何让一个JAR文件随JVM启动时运行?java.exe是不能够做成这样的,不过可以自己定制java.exe,定制java.exe在如下情况有用:
1.不想程序的进程名显示为java.exe
2.希望程序双击就可以运行。
下面是一段示例代码:
// JVM_CPP.cpp : Defines the entry point for the console application.
//
#include ......
1.新建一个servlet程序,文件名为Test.java,文件内容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServle ......