java持续 机关器 重载,重写   
               添加时间:2013-7-5 点击量: 
 
              
持续的重写 (Override)
class Base
{
    ?public void function1()    ?//无参数的办法
    ?{
    ?    ?功能1;
    ?}
     ?public void function1(Datatype var1)    ?//带一个参数的办法
    ?{
    ?    ?功能2;
    ?}
}
class Sub extends Base
{
    ?public void function1()
    ?[
    ?    ?//若是须要和父类的function1功能完全一样,直接调用父类的function1()
    ?    ?super.function1();
    ?    ?//若是子类的function1()功能和父类的不一样,那么就须要从头写子类的function1()
    ?    ?//各类自定义的..功能
    ?}    ?
}
=================================================================================
持续的重载 (Overload)
默认下子类持续了父类所有的public公有的办法,private的不克不及获得
办法的重载是雷同的函数名,然则办法里面的参数列表不合,和一般办法重载一样
所以当父类的function是private润饰时,子类的function是新建的和父类没紧要
class Base
{
    ?public void function1()    ?//无参数的办法
    ?{
    ?    ?功能1;
    ?}
     ?public void function1(Datatype var1)    ?//带一个参数的办法
    ?{
    ?    ?功能2;
    ?}
}
class Sub extends Base
{
    ?public void function1(和父类参数列表不合的参数)
    ?{
    ?    ?功能;
    ?}
}
=================================================================================
=================================================================================
对父类机关器的调用
子类不克不及获得父类的机关器
子类不克不及直接应用父类的机关器,然则可以在子类的机关器中应用super(value)来调用父类的机关器
class Base
{
    ?Base(){}    ?//不带参数的机关器
    ?Base(Datatype var)
    ?{
    ?    ?功能1;
    ?}
    ?Base(Datatype var1,Datatype var2)
    ?{
    ?    ?功能1;
    ?    ?功能2;
    ?}
}
class Sub extends Base
{
    ?Sub(){}    ?//不带参数的子类
    ?Sub (Datatype var1)    ?    ?//带一个参数的子类机关器
    ?{
    ?    ?super(var1);
    ?    ?其他功能;
    ?}
    ?
    ?Sub(Datatype var1,Datatype var2)    ?//带两个参数的子类机关器
    ?{
        ?super(var1,var2);
    ?    ?其他功能;
    ?}
    ?public static void (String[] arg)
    ?{
    ?    ?//如许应用子类的机关器,简介应用了父类的机关器,对这些初始化
    ?    ?//错误的应用
    ?    ?//new super(var1,var2); 不克不及直接调用父类的机关器
    ?}
}
  1 class FatherA 
  2 {
  3     String name;
  4     FatherA()
  5     {
  6         System.out.println(FatherA不带参数的机关器);
  7     }
  8     FatherA(String name)
  9     {
 10         this.name = name;
 11         System.out.println(FatherA带一个参数的机关器 :  + name);
 12     }
 13 }
 14 
 15 class FatherB extends FatherA
 16 {
 17     String name;
 18     int age;
 19     String sex;
 20     FatherB()
 21     {
 22         System.out.println(FatherB不带参数的机关器);
 23     }
 24 
 25     FatherB(String name)
 26     {
 27         super(name);
 28         System.out.println(FatherB带一个参数的机关器 :  + name);
 29         
 30     }
 31 
 32     FatherB(String name , int age)
 33     {
 34         super(name);
 35         this.age = age;
 36         System.out.println(FatherB带两个参数的机关器 :  + name +  :  + age);
 37     }
 38 
 39     FatherB(String name ,int age ,String sex)
 40     {
 41         //super(name,age);其父类没有该机关器,故不克不及应用啦
 42         this(name,age);    //调用本类的机关器
 43         this.sex = sex;
 44         System.out.println(FatherB带三个参数的机关器 :  + name +  :  + age +  :  + sex);
 45     }
 46 
 47     public void myFunction()
 48     {
 49         System.out.println(hello world);
 50     }
 51     public void myFunction1()
 52     {
 53         System.out.println(base class function);
 54     }
 55 }
 56 
 57 public class SonClass extends FatherB
 58 {
 59     public SonClass()    //无参数机关器
 60     {
 61         //super(admin,20);
 62         //System.out.println(显式调用了其父类的带两个参数的);
 63 
 64         super();
 65         System.out.println(调用其父类不带参数的机关器);
 66     }
 67 
 68     public SonClass(String name)
 69     {
 70         super(name);//调用其父类带一个参数的机关器
 71         System.out.println(显式调用一个参数的..);
 72     }
 73 
 74     public SonClass(String name ,int age)
 75     {
 76         super(name,age);
 77         System.out.println(调用两个参数的...);
 78     }
 79 
 80     public SonClass(String name , int age ,String sex)
 81     {
 82         super(name,age,sex);
 83         System.out.println(调用三个参数的...);
 84     }
 85     
 86     public void myFunction(String name) //重载啦
 87     {
 88         System.out.println(name +  hello world);
 89     }
 90     
 91     public void myFunction()    //重写了父类的function()
 92     {
 93         System.out.println(china hello world);    
 94     }
 95     public static void main(String[] arg)
 96     {
 97         new SonClass();    //new一个无参数的对象
 98         System.out.println(============================);
 99         new SonClass(hello); //new一个带参数的对象
100 
101         System.out.println(============================);
102         new SonClass(china,20);
103 
104         System.out.println(============================);
105         new SonClass(japan,20,man);
106 
107         System.out.println(============================);
108         (new SonClass()).myFunction();
109 
110         System.out.println(============================);
111         (new SonClass()).myFunction(admin);
112     }
113 }
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
                     
                  
     
  
 
    
    
持续的重写 (Override)
class Base
{
?public void function1() ?//无参数的办法
?{
? ?功能1;
?}
?public void function1(Datatype var1) ?//带一个参数的办法
?{
? ?功能2;
?}
}
class Sub extends Base
{
?public void function1()
?[
? ?//若是须要和父类的function1功能完全一样,直接调用父类的function1()
? ?super.function1();
? ?//若是子类的function1()功能和父类的不一样,那么就须要从头写子类的function1()
? ?//各类自定义的..功能
?} ?
}
=================================================================================
持续的重载 (Overload)
默认下子类持续了父类所有的public公有的办法,private的不克不及获得
办法的重载是雷同的函数名,然则办法里面的参数列表不合,和一般办法重载一样
所以当父类的function是private润饰时,子类的function是新建的和父类没紧要
class Base
{
?public void function1() ?//无参数的办法
?{
? ?功能1;
?}
?public void function1(Datatype var1) ?//带一个参数的办法
?{
? ?功能2;
?}
}
class Sub extends Base
{
?public void function1(和父类参数列表不合的参数)
?{
? ?功能;
?}
}
=================================================================================
=================================================================================
对父类机关器的调用
子类不克不及获得父类的机关器
子类不克不及直接应用父类的机关器,然则可以在子类的机关器中应用super(value)来调用父类的机关器
class Base
{
?Base(){} ?//不带参数的机关器
?Base(Datatype var)
?{
? ?功能1;
?}
?Base(Datatype var1,Datatype var2)
?{
? ?功能1;
? ?功能2;
?}
}
class Sub extends Base
{
?Sub(){} ?//不带参数的子类
?Sub (Datatype var1) ? ?//带一个参数的子类机关器
?{
? ?super(var1);
? ?其他功能;
?}
?
?Sub(Datatype var1,Datatype var2) ?//带两个参数的子类机关器
?{
?super(var1,var2);
? ?其他功能;
?}
?public static void (String[] arg)
?{
? ?//如许应用子类的机关器,简介应用了父类的机关器,对这些初始化
? ?//错误的应用
? ?//new super(var1,var2); 不克不及直接调用父类的机关器
?}
}
1 class FatherA
2 {
3 String name;
4 FatherA()
5 {
6 System.out.println(FatherA不带参数的机关器);
7 }
8 FatherA(String name)
9 {
10 this.name = name;
11 System.out.println(FatherA带一个参数的机关器 : + name);
12 }
13 }
14
15 class FatherB extends FatherA
16 {
17 String name;
18 int age;
19 String sex;
20 FatherB()
21 {
22 System.out.println(FatherB不带参数的机关器);
23 }
24
25 FatherB(String name)
26 {
27 super(name);
28 System.out.println(FatherB带一个参数的机关器 : + name);
29
30 }
31
32 FatherB(String name , int age)
33 {
34 super(name);
35 this.age = age;
36 System.out.println(FatherB带两个参数的机关器 : + name + : + age);
37 }
38
39 FatherB(String name ,int age ,String sex)
40 {
41 //super(name,age);其父类没有该机关器,故不克不及应用啦
42 this(name,age); //调用本类的机关器
43 this.sex = sex;
44 System.out.println(FatherB带三个参数的机关器 : + name + : + age + : + sex);
45 }
46
47 public void myFunction()
48 {
49 System.out.println(hello world);
50 }
51 public void myFunction1()
52 {
53 System.out.println(base class function);
54 }
55 }
56
57 public class SonClass extends FatherB
58 {
59 public SonClass() //无参数机关器
60 {
61 //super(admin,20);
62 //System.out.println(显式调用了其父类的带两个参数的);
63
64 super();
65 System.out.println(调用其父类不带参数的机关器);
66 }
67
68 public SonClass(String name)
69 {
70 super(name);//调用其父类带一个参数的机关器
71 System.out.println(显式调用一个参数的..);
72 }
73
74 public SonClass(String name ,int age)
75 {
76 super(name,age);
77 System.out.println(调用两个参数的...);
78 }
79
80 public SonClass(String name , int age ,String sex)
81 {
82 super(name,age,sex);
83 System.out.println(调用三个参数的...);
84 }
85
86 public void myFunction(String name) //重载啦
87 {
88 System.out.println(name + hello world);
89 }
90
91 public void myFunction() //重写了父类的function()
92 {
93 System.out.println(china hello world);
94 }
95 public static void main(String[] arg)
96 {
97 new SonClass(); //new一个无参数的对象
98 System.out.println(============================);
99 new SonClass(hello); //new一个带参数的对象
100
101 System.out.println(============================);
102 new SonClass(china,20);
103
104 System.out.println(============================);
105 new SonClass(japan,20,man);
106
107 System.out.println(============================);
108 (new SonClass()).myFunction();
109
110 System.out.println(============================);
111 (new SonClass()).myFunction(admin);
112 }
113 }
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》




