Java构造器
构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。如果已经写了任何有参构造器,编译器将不再添加任何构造代码。
(5)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
示例
1.在创建对象时候完成初始化
class A
{
private int age;
private String name;
public A(){}//无参构造函数,如果都不写系统会自动生成这个,但是如果写了任何构造函数,系统将不会自动生成
public A(int a,String b)//构造函数,与类名相同,不写的话系统默认生成。没有返回值
{
System.out.println("构造函数被调用!");
age=a;
name=b;
}
public void show()//输出接口
{
System.out.print("age= "+age);
System.out.print("name= "+name);
System.out.println();
}
}
public class ConstTest
{
public static void main(String[] agrs)
{
A one=new A(21,"yanggan");//1.new会创建并返回一个对象,然后调用构造函数。但是构造函数没有返回值
one.show();
}
/*输出:
构造函数被调用!
age= 21name= yanggan
*/
}
Java方法重载
重载方法是函数的一种特殊情况,为方便使用,Java允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同(每一个重载的方法都必须有独一无二的参数列表,这是编译器判断的依据),也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。
重载函数不能通过返回值判断!两个重载函数必须在下列一个或两个方面有所区别:
示例.
1.运用重载函数与非重载进行对比
//测试函数重载和非重载情况下
class A//不采用函数重载的类
{
public int add2(int a,int b)
{
return a+b;
}
public int add3(int a,int b,int c)
{
return a+b+c;
}
public int add4(int a,int b,int c,int d)
{
return a+b+c+d;
}
public double add2double(double a,double b)
{
return a+b;
}
}
class B//采用函数重载
{
public int add(int a,int b)
{
return a+b;
}
public int add(int a,int b,int c)
{
return a+b+c;
}
public int add(int a,int b,int c,int d)
{
return a+b+c+d;
}
public double add(double a,double b)
{
return a+b;
}
}
public class ConstTest
{
public static void main(String[] agrs)
{
A one=new A();
System.out.println("1+2= "+one.add2(1,2));
System.out.println("1+2+3= "+one.add3(1,2,3));
System.out.println("1+2+3+4= "+one.add4(1,2,3,4));
System.out.println("1.2+2.3= "+one.add2double(1.2,2.3) );
//在访问方法时候容易混乱,刚刚在编码中甚至写错了add4与add2double~
B two=new B();
System.out.println("----------运用函数重载--------");
System.out.println("1+2= "+two.add(1,2));
System.out.println("1+2+3= "+two.add(1,2,3));
System.out.println("1+2+3+4= "+two.add(1,2,3,4));
System.out.println("1.2+3.5= "+two.add(1.2,3.5));
//运用函数重载的优点不言而喻,相似功能函数名统一,
}
/*输出:
1+2= 3
1+2+3= 6
1+2+3+4= 10
1.2+2.3= 3.5
----------运用函数重载--------
1+2= 3
1+2+3= 6
1+2+3+4= 10
1.2+3.5= 4.7
*/
}
作者:YangGan出处:http://blog.csdn.net/incyanggan本文基于署名
2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).
分享到:
相关推荐
内容是C++面对对象的,目录大致来源于菜鸟文档的C++面向对象,笔记是参考各种文章以及菜鸟文档改编的,内容包含C++类和对象(类定义和对象定义,类成员函数,类访问修饰符,友元函数,内联函数,this指针,静态成员...
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.rar
20210808-银河证券-交通运输行业:菜鸟网络业绩表现持续向好,京东航空获批筹建.pdf
java笔记-从菜鸟到j2se j2ee高手之路
股市菜鸟必读----“笑傲股市”学习笔记.pdf
JAVA入门级笔记,满满当当适合刚学习用JAVA编程的程序员,不死记硬背靠理解走遍天下
java菜鸟学习第一步-java基础语法,学习一门语言先从语法开始学起,学好基础才能深入的学习编程
菜鸟入侵--利用资源搜索动画教程,内附有详细的使用说明 菜鸟入侵之利用资源篇 菜鸟在入侵的时候,如果能充分利用现有的资源,那将对自己的入侵起很大的
Python基础语法-菜鸟教程-函数⽤法:input()和raw_input() 1.input()和raw_input()⽤法 (1).input() 1)⽤法解释 def input(*args, **kwargs): # real signature unknown """ Read a string from standard input....
1 09:15:01 ------>Power:99% ----->Memory:18.24% ---->CPULoad:2.54 2 09:20:01 92% 17.86% 1.06 3 09:25:02 95% 18.58% 1.40 4 09:30:01 80% 19.04% 0.41 5 09:35:01 79% 19.18% 0.73 6 09:40:01 69% 19.13% 0.14...
java 笔试面试题 Java 面试笔记 这本书其实是我的一本笔记 (还在整理中). 我是也是刚找到工作. 这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ...
这本笔记主要记录了我之前面试遇到的问题以及我在网上整理的一些资料 主要是面向 junior 级别的 就是我们这些小菜鸟啦 ~ ---------------------------------------------------- 本 PDF 基于开源文档,目录书签齐全...
java必备-菜鸟的最爱-正则表达式.docx
Java基础知识笔记详细版-菜鸟翻阅必备,可以作为坐地铁等公交的读物!
菜鸟的SAP自学学习笔记;对SAP初学者很有帮助喔!为了解决问题却也带来了相当大的收益,接触了那些以前不会考虑的问题领域,结识了一些之前根本想象不到的人,这些都是那么重珍贵。
python-note 菜鸟学习笔记
STM32菜鸟学习手册-罗嗦版 。
菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华...
2010年黑客学习基地培训系列教程 菜鸟起飞的天堂 成就黑客的圣地 拥有海量的教程和软件 打造国内做大的黑客视频动画基地 http://www.hack95.com 本人唯一联系QQ:1500380791 --------------------------------...
JAVA基础学习课件,菜鸟篇。零基础学Java(PPT)--java教学