刚看了些文章。个人有以下觉得。
1、如果超父类的构造函数没有参数,或参数有默认值。那么继承他的子类的构造函数中。可以不写super。并且在该子类中对超父类方法的override,也是可以的。
2、如果超父类的构造函数有参数,并且没有默认值。那么继承他的子类的构造函数中。必须写好super。
3、超父类里边的public 权限的方法,属性,继承他的子类里边不能出现,要出现就要 override了。
最后,也可以这样觉得: 继承超父类的那个类的super 就相当于超父类的实例。以上这些都是个人觉得的。术语不对不要怪我。下边贴出测试代码:
1 package 2 { 3 public class Ball 4 { 5 private var wu:int=0; 6 7 public function Ball(_width:int=10,_height:int=20,circle:int=40):void 8 { 9 trace("你是一个猪猪!你的三围是:"+_width+"*******"+_height+"*******"+circle); 10 //三围多大我也不清楚。随便写的。 11 } 12 13 public function hello() 14 { 15 trace("你就想Hello"); 16 } 17 18 private function wahaha() 19 { 20 21 } 22 } 23 }
1 package 2 { 3 public class Circle extends Ball 4 { 5 private var wu:int=1; 6 public function Circle() 7 { 8 super(); 9 } 10 11 public override function hello() 12 { 13 super.hello(); 14 trace("meiyou"); 15 } 16 private function wahaha() 17 { 18 19 } 20 } 21 }
1 package 2 { 3 import flash.display.Sprite; 4 5 /** 6 *@author vini 7 *@web http://www.vini123.com 8 */ 9 public class Main extends Sprite 10 { 11 public function Main() 12 { 13 var c:Circle=new Circle(); 14 c.hello(); 15 } 16 } 17 }
 
                    
                     
                    
                 
                    
                 
                
 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号