构造方法和方法重载
来源:互联网 发布:王心凌 知乎 编辑:程序博客网 时间:2024/06/15 07:19
方法的重载:
1. 方法重载的目的:为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”。
2. 方法重载的判断条件:参数个数不同或参数类型不同。返回值不是判断条件。
构造方法:
1. 方法名称与类名相同。
2. 无返回值,不用void修饰。
重载与重写的区别:
重载方法 | 重写方法 | |
参数列表 | 必须修改 | 一定不能改 |
返回类型 | 可以任意修改 | 对于基本数据类型必须相同,对于对象引用类型必须能够兼容。 |
访问限制 | 可以修改 | 一定不能做更严格的限制,但可以降低访问限制 |
调用 | 参数类型决定选择哪个重载版本 | 对象类型决定调用什么样的方法。 |
本质区别:重载不是面向对象的,只是高级语言为了使用方便而提供的特性,而重写是完全属于面向对象的。
实例分析:
//方法的重载:参数类型,个数不同.返回值不能作为判断条件
public class Test1{
public static void main(String args[])
{
Test
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);
}
}
- 构造方法和方法重载
- 构造方法和方法重载
- 构造方法重载和调用
- 构造方法和以为方法的重载
- 构造方法,方法重载
- 黑马程序员_构造方法和构造方法的重载
- 方法重载和构造器的认识
- 面向对象--构造方法、重载和重写
- 方法参数传递及方法和构造方法的重载
- 构造方法重载
- C#构造方法重载
- 构造方法的重载
- 构造方法的重载
- 构造方法的重载
- java 构造方法重载
- java--构造方法重载
- 构造方法与重载
- 构造方法与重载
- 1
- [转]NVIDIA/ATI显卡后缀命名大盘点
- 80后三十难立,我的青春谁做主
- MySQL学习笔记
- 前言
- 构造方法和方法重载
- int与integer的区别!-
- 分别用C语言和Java来写九九乘法表
- Java中try,return ,finally,throw使用总结
- 转曾钦松ACM退役文章
- [转]DataGridView显示行号的几种方法
- MXML入门学习
- 1
- 1