- 一個java文件A裏面只能有一個public類B,且A的文件名需要和B的類名相同
- Mytest裏面有main方法,需要用到MyCycle類和UniCycle類,我們需要把MyCycle類和UniCycle類打包成一個package。在這兩個類的首行寫
package com.pxz.cycle;
包名需要和包內java文件層次相同。在idea中,文件層次是在定義包名時自動生成的。比如包名com.pxz.cycle,idea就會生成com/pxz/cycle這樣的文件結構。
- 在idea的settings中,可以設置自動添加包和自動移除包。
- 多態基本概況
public class Mytest {
static void fun(Super s) {
System.out.println("s.v=" + s.v);
System.out.println("s.getV()=" + s.getV());
}
public static void main(String args[]) {
Super s1 = new Sub();
fun(s1);
Sub s2 = new Sub();
fun(s2);
Super s3 = new Super();
fun(s3);
}
}
class Sub extends Super {
public int v = 1;
public int getV() {
return v;
}
}
class Super {
public int v = 0;
public int getV() {
return v;
}
}
s.v=0
s.getV()=1
s.v=0
s.getV()=1
s.v=0
s.getV()=0
- 成員變量和靜態方法不能進行多態
public class Mytest {
public static void main(String args[]) {
Super s1 = new Sub();
System.out.println("s1.v=" + s1.v);
System.out.println("s1.getV=" + s1.getV());
s1.getString();
Super s2 = new Super();
System.out.println("s2.v=" + s2.v);
System.out.println("s2.getV=" + s2.getV());
s2.getString();
Sub s3 = new Sub();
System.out.println("s3.v=" + s3.v);
System.out.println("s3.getV=" + s3.getV());
s3.getString();
}
}
class Sub extends Super {
public int v = 1;
public int getV() {
return v;
}
public static void getString() {
System.out.println("Sub");
}
}
class Super {
public int v = 0;
public int getV() {
return v;
}
public static void getString() {
System.out.println("Super");
}
}
s1.v=0
s1.getV=1
Super
s2.v=0
s2.getV=0
Super
s3.v=1
s3.getV=1
Sub
- 抽象類、接口
http://www.cnblogs.com/felixzh/p/5938544.html