码迷,mamicode.com
首页 > 其他好文 > 详细

构造方法和方法的重载

时间:2014-08-13 18:43:06      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   java   使用   ar   art   div   

**
* 方法重载就是在类中可以写多个方法名相同的方法,但这些方法除了方法名相同外,其参数类型,参数个数
* 和方法的返回值,都不相同。
*
*而构造方法就是一种特殊的方法,其的方法名必须和类名相同。
*构造方法没有返回值类型,没有void
*构造方法不能从父类中继承
*构造方法可以重载,一个class可以有多个构造方法,不同的对象根据参数的不同
* 选择合适的构造方法。
* 构造方法不能直接通过方法名来引用,必须用new运算符
* 在构造方法中可以调用当前类和其父类的另一个构造方法,但必须是方法体的第一条语句。

   如果一个构造方法中中的第一条没有用super来调用父类的构造方法,则编译器也会默认在构造方法中用super()语句调用

  无参的构造方法

   但是,如果构造方法的第一句是用this来调用本类中的另外一个构造方法,那么他就不会再默认调用super()
* 使用当前类的构造方法用this来引用,使用父类的构造方法用super来引用
*   super有三种情况:

     用来访问父类中被覆盖的方法

     用来访问父类中的构造方法、

     用来访问父类中被隐藏的成员变量。
*其为类的方法中的变量赋初始值。
* /

下面我们先建一个父类

 1 import javax.swing.Spring;
 2 
 3 public class overloading {
 4     
 5 /**
 6  * 方法重载就是在类中可以写多个方法名相同的方法,但这些方法除了方法名相同外,其参数类型,参数个数
 7  * 和方法的返回值,都不相同。
 8  * 
 9  *而构造方法就是一种特殊的方法,其的方法名必须和类名相同。
10  *构造方法没有返回值类型,没有void
11  *构造方法不能从父类中继承
12  *构造方法可以重载,一个class可以有多个构造方法,不同的对象根据参数的不同
13  *  选择合适的构造方法。
14  * 构造方法不能直接通过方法名来引用,必须用new运算符
15  * 在构造方法中可以调用当前类和其父类的另一个构造方法,但必须是方法体的第一条语句
16  *   使用当前类的构造方法用this来引用,使用父类的构造方法用super来引用
17  *
18  *其为类的方法中的变量赋初始值。
19  * /
20  */
21   public Spring d;
22   public overloading() {
23     // TODO Auto-generated constructor stub
24       System.out.println(" i am the frist method! I do not have parameter");
25 }
26   public void overloading() 
27   {
28     // TODO Auto-generated method stub
29    System.out.println("I am the method 2! I have not return value!");
30   }
31   public overloading(String d)
32   {
33       
34       
35    //   d="33";如果在此对d赋值,则下面的overloading ol2 =new overloading("3");的赋值将会
36   //被覆盖,即,输出的结果里d的值为33不是3
37       System.out.println(d);
38   }
39   
40 public static void main(String[] args) {
41     //类的实例化
42     overloading ol=new overloading();
43     ol.overloading();
44     overloading ol2 =new overloading("3");
45 }
46 
47 }

然后再子类中继承父类,并调用父类中的方法:

public class suboverclass extends overloading{

        //subclass的构造方法
           public suboverclass() {
            // TODO Auto-generated constructor stub
            //调用父类的构造方法(do  not have parameter)  
               super();
            //invoke a normal method from father class
               super.overloading();
System.out.println(
"I am a constructor stub in subclass."); } public suboverclass(String c){ //subclass的构造方法2(have a parameter) super("I am a constructor method and have a parameter."); System.out.println("I am a constructor stub in subclass."+c); } public static void main(String[] args) { //无参构造方法 suboverclass sub =new suboverclass(); suboverclass sub2=new suboverclass("and I invoke the method from farther class overloading."); } }

指的注意的是调用父类方法时,调用普通方法和构造方法的区别。

构造方法和方法的重载,布布扣,bubuko.com

构造方法和方法的重载

标签:style   blog   color   java   使用   ar   art   div   

原文地址:http://www.cnblogs.com/zhanggongchang/p/3910591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!