class Cpoint
{
int x,y; Cpoint(){} Cpoint(int x1,int y1){
x=x1;
y=y1;
}
int getX(){
return x;
}
int getY(){
return y;
}
}
class Cquare extends Cpoint{
int l,x,y; Cquare(int z,int m,int n){
x=m;
y=n;
l=z;
}
int area(){
return l*l;
} void show(){
System.out.println(getX()+","+getY());
System.out.println(area());
}
}
class Test34{
public static void main(String args[]){ Cquare j=new Cquare(5,5,5);
Cpoint k=new Cpoint(3,5);
j.show();
}
}
{
int x,y; Cpoint(){} Cpoint(int x1,int y1){
x=x1;
y=y1;
}
int getX(){
return x;
}
int getY(){
return y;
}
}
class Cquare extends Cpoint{
int l,x,y; Cquare(int z,int m,int n){
x=m;
y=n;
l=z;
}
int area(){
return l*l;
} void show(){
System.out.println(getX()+","+getY());
System.out.println(area());
}
}
class Test34{
public static void main(String args[]){ Cquare j=new Cquare(5,5,5);
Cpoint k=new Cpoint(3,5);
j.show();
}
}
{
static int x,y;//声明为静态的 Cpoint(){} Cpoint(int x1,int y1){
x=x1;
y=y1;
}
int getX(){
return x;
}
int getY(){
return y;
}
}
class Cquare extends Cpoint{
int l,x,y; Cquare(int z,int m,int n){
x=m;
y=n;
l=z;
}
int area(){
return l*l;
} void show(){
System.out.println(getX()+","+getY());
System.out.println(area());
}
}
class Test34{
public static void main(String args[]){ Cquare j=new Cquare(5,5,5);
Cpoint k=new Cpoint(3,5);
j.show();
}
}
父类的变量声明为静态的
void show(){
System.out.println(“getFromFather” + getX()+","+getY());
System.out.println(“getFromSelf” + getX()+","+getY());
System.out.println(area());
}
输出为:
getFromFather:0,0
getFromSelf:5,5
25
这里new一个Cquare对象时必须调用父类的无参构造方法,
而Cpoint(){}中x,y并没有赋值,所有getX()和getY()自然只能取成员变量的默认值0;
25就不用解释了~