文档详情

第五章面向对象高级特征1.ppt

发布:2017-08-03约7.48千字共70页下载文档
文本预览下载声明
第五章面向对象的高级特征; 一、继承中父类(子类)的转化问题; 子类对象转换为父类对象;class point{ int x, y; ? point(int x, int y){ this.x=x; this.y=y; } int getX( ){ return x; } }?;public class testUpCasting { public static void main(String [ ] args){ System.out.println(p.getX( )); } } ;父类对象转换为子类对象;public static void main(String [ ] args){ point p=new point(1,1); circle c; c=(circle)p; //将对象p强制转换为circle对象 System.out.println(c.area( )); } ;改进的方法: public static void main(String [ ] args){ point p=new point(1,1); circle c; } ;再看下例: public static void main(String [ ] args){ point p=new circle(10,10,10); //注意p可以指向其子类 circle c; } ;二、static变量 和static方法;public class Scope{ static int a; public static void main(string args[]){ a++; Scope s1=new Scope(); s1.a++; Scope s2=new Scope(); s2.a++; Scope.a++; System.out.println(“a=”+a); } };public class staticTest { static int num=0; int c; staticTest( ){ num++; } public static void main(String args[]) { staticTest x=new staticTest(); System.out.print(x.num); staticTest y=new staticTest(); System.out.println(y.num); } };Num c;static方法;class point { static int count; int x, y; point(int a, int b){ count++;x=a; y=b;} static int getCount(){return count;} } ;Public class Base{ protected int var; public void method1() {var++; } } Public class Sub extends Base{ Public static void method2{ super.method1();} };class point { static int count; int x, y; point(int a, int b){ count++; x=a; y=b; System.out.println(Call point constructor!); } static int getCount(){ return count; } ;public class testStaticVariable { public static void main(String args[ ]) { point c1=new point(0,0) ; point c2=new point(10,10
显示全部
相似文档