- 一个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