构造方法和方法重载

来源:互联网 发布:王心凌 知乎 编辑:程序博客网 时间:2024/06/15 07:19

方法的重载:

1.       方法重载的目的:为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”。

2.       方法重载的判断条件:参数个数不同或参数类型不同。返回值不是判断条件。

构造方法:

1.       方法名称与类名相同。

2.       无返回值,不用void修饰。

重载与重写的区别:

 

重载方法

重写方法

参数列表

必须修改

一定不能改

返回类型

可以任意修改

对于基本数据类型必须相同,对于对象引用类型必须能够兼容。

访问限制

可以修改

一定不能做更严格的限制,但可以降低访问限制

调用

参数类型决定选择哪个重载版本

对象类型决定调用什么样的方法。

本质区别:重载不是面向对象的,只是高级语言为了使用方便而提供的特性,而重写是完全属于面向对象的。

实例分析:

//方法的重载:参数类型,个数不同.返回值不能作为判断条件

public class Test1{

       public static void main(String args[])

       {

              Test1 a=new Test1();

              a.kk();

              a.kk(5);

       }

       void kk()

       {

              System.out.println("void kk1");

       }

       void kk(int i)

       {

              System.out.println("void kk2");

       }

       int kk(int x,double y)

       {

              System.out.println("void kk3");

              return 5;

       }

       int kk(int x,int y)

       {

              System.out.println("void kk4");

              return 3;

       }

       int kk(double x,int y)

       {

              System.out.println("void kk5");

              return 3;

       }

//构造方法的使用,构造器,一旦自己写了构造器,系统就不再用默认构造器。

public class Test1{

       int sage;

       String sname;

       int sclass;

       public Test1()//创建对象时调用,不准写返回值类型(void 也不行),名称必须跟类名相同

       {

              System.out.println("Test1");

       }

       public Test1(int sage)

       {

              this.sage=sage;//this代表类中的全局变量sage

              System.out.println("name:"+sname+" class:"+sclass+" sage:"+sage);

       }

       public Test1(int sage,String sname)

       {

              this(sage);//this 代表上一个单参数构造器

              this.sname=sname;

              System.out.println("name:"+sname+" class:"+sclass+" sage:"+sage);

       }

       public Test1(String sname,int sage,int sclass)

       {

              this(sage,sname);//this代表上一个双参数的构造器

              this.sclass=sclass;

              System.out.println("name:"+sname+" class:"+sclass+" sage:"+sage);

             

       }

       public static void main(String args[])

       {

       //     Test1 st=new Test1();

       //     Test1 st2=new Test1();

       //     new Test1(22);

              Test1 st3=new Test1(20);

              Test1 st4=new Test1(22,"yangzhanghui");

              Test1 st5=new Test1("Yangzhanghui",22,1);

       }

}

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 泰迪小狗掉毛怎么办 手机jlc调用接口状态异常怎么办 进门和厕所对着怎么办 p过的照片有竖条怎么办 当照片p出竖条纹怎么办 月子里落下脚心怕风怕凉怎么办 鞋胶把手粘住了怎么办 凉鞋魔术贴长了怎么办 新买的狗一直叫怎么办 刚买的幼犬老叫怎么办 狗狗什么都不吃怎么办 新买的吊扇风小怎么办 夜市卖果汁没电怎么办 榻榻米太长2米45怎么办 木质桌子黏黏的怎么办 白色塑料桌子染色了怎么办 3dmax模型变透明了怎么办 刚养的兔子不吃怎么办 熊猫兔不吃下喝怎么办 熊猫兔感冒了一直打喷嚏怎么办 兔子后腿骨断了怎么办 兔子的腿肿了怎么办 仓鼠喝了牛奶该怎么办 宠物兔不吃不喝怎么办 兔子把木屑吃了怎么办? 小车司机碰瓷大车司机怎么办 在淘宝买到假的护肤品怎么办 淘宝购物发现是假的怎么办 电脑键盘灯不亮不能打字怎么办 海棠兔屁股有屎怎么办 大冒险告白被接受了怎么办剧透微博 大冒险被告白了怎么办 腐书网 大冒险告白被接受了怎么办 006 大冒险告白被接受了怎么办广播剧 coolpad手机解锁图案忘了怎么办 装死兔严重掉毛怎么办 兔子嘴巴磕破了怎么办 嘴巴里面摔烂了怎么办 兔子的鼻子损了怎么办 两个人嘴巴被粘牙糖粘住怎么办 小鸟被老鼠粘粘住了怎么办