5、函数方法
5.1、方的重载
函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。在这种情况下,该函数就叫被重载(overloaded)了,这个过程称为函数的重载(method overloading)。
例如:
public class Test{
public static void main(String [] args){
int isum;
double fsum;
isum=add(3,5);
isum=add(3,5,6);
fsum=add(3.2,6.5);
}
public static int add(int x,int y){
reutrn x+y;
}
public static int add(int x,int y,int z){
return x+y+z;
}
public static double add(double x,double y){
return x+y;
}
}
5.2、构造函数
1.构造函数的特点:
具有与类相同的名称;
不含返回值;
不能在方法中用return语句返回一个值
构造方法在程序设计中非常有用,它可以为类的成员变量进行初始化工作,当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
注意:在构造方法里不含返回值的概念是不同于“void”的,对于“public void Person()”这样的写法就不再是构造方法,而变成了普通方法,在定义构造方法时不能加了“void”,否则这个方法就不再被自动调用了。
例:
class Person{
public Person(){
System.out.println("the constructor 1 is calling!");
}
private int age = 10;
public void shout(){
System.out.println(“age is ”+age);
}
}
class TestPerson{
public static void main(String[] args){
Person p1=new Person();
p1.shout();
Person p2=new Person();
p2.shout();
Person p3=new Person();
p3.shout();
}
}
结果:
the constructor 1 is calling!
age is 10
the constructor 1 is calling!
age is 10
the constructor 1 is calling!
age is 10
5.3 、构造方法的重载
构造和一般一样也可以重载:
class Person{
private String name=”unknown”;
private int age = -1;
public Person(){
System.out.println(“constructor1 is calling”);
}
public Person(String n){
name = n;
System.out.println("constructor2 is calling");
System.out.println(“name is ”+name);
}
public Person(String n,int a){
name = n;
age = a;
System.out.println(”constructor3 is calling”);
System.out.println(“name and age is ”+name+”;”+age);
}
public void shout(){
System.out.println(“listen to me!!”);
}
}
class TestPerson{
public static void main(String[] args){
Person p1=new Person();
P1.shout();
Person p2=new Person(”Jack”);
P2.shout();
Person p3=new Person(“Tom”,18);
P3.shout();
}
}
运行结果:
constructor1 is calling
listen to me!!
constructor2 is calling
name is Jack
listen to me!!
constructor3 is calling
name and age is Tom;18
listen to me!!
5.4、构造方法的一些细节
1).在Java的每个类里都至少有一个构造方法,如果程序员没有在一个类里定义构造方法,系统会自动为这个类产生一个默认的构造方法,这个默认构造方法没有参数,在其方法体中也没有任何代码,即什么也不做。
2).由于系统提供的默认构造方法往往不能满足编程者的需求,我们可以自己定义类的构造方法,来满足我们的需要,一旦编程者为该类定义了构造方法,系统就不再提供默认的构造方法了。
3).构造方法不能用private修饰。
分享到:
相关推荐
----1....----2....----3....----5.数据类型+字符串函数+常量+运算符+if判断+switch+while.mp4 ...面向对象.mp4 ----21.session与cookie的原理.mp4 ----22.定义cookie+cookie跨域.mp4 ----23.文件上传.mp4 ----24.可变变量.mp4
目录 01-走进python.flv 02-开始编程吧.flv 03-变量.flv 04-运算符-表达式.flv 05-数据类型-数字-字符串.flv 06-元组.flv 07-列表 .flv 08-字典.flv ...38-面向对象-1-类和对象.flv 37-MySQLdb.flv
面向对象编程基础.md Day01-15\09.面向对象进阶.md Day01-15\10.图形用户界面和游戏开发.md Day01-15\11.文件和异常.md Day01-15\12.字符串和正则表达式.md Day01-15\13.进程和线程.md Day01-15\14.网络编程入门和...
9-7 4.static关键字(静态方法) 面向对象编程三大特性① 9-7 5.面向对象编程三大特性② 9-7 6.面向对象编程三大特性③ 9-9 1.回顾 9-9 2.面向对象编程三大特性④ 9-9 3.面向对象编程三大特性⑤ 抽象类 9-9 4.接口 9-9...
采用js面向对象、面向切面的方式实现的坦克大战游戏。通过jquery来操作dom。 文件描述: init.js --- 初始化的JS,初始化全局对象 Util.js --- 用到的一些公共方法的JS Panel.js --- 面板JS Steel.js --- 障碍物...
由于python的功能强大,简洁和完全的面向对象,python已经成为很多大型组织包括谷歌,雅虎和IBM的脚本语言的理想选择。 在本教程里, Bill Weinman 致力于教给大家怎样用 python 3 来创造出完美设计的脚本和管理已经...
15-包与模块管理及面向对象初步.mp4 16-面向对象编程OOP 01.mp4 17-面向对象编程OOP 02.mp4 18-面向对象编程OOP 03.mp4 19-异常处理及测试.mp4 20-unittest单元测试.mp4 21-数值、日期与时间.mp4 22-对象持久化.mp4 ...
5-面向对象.wmv 6-模块.wmv 7-文件操作.wmv 8-文件读写指针操作.wmv 9-应用案例一.wmv 10-应用案例二.wmv 11-网络编程requests模块.wmv 12-网络编程socket编程.wmv 13-python调用c和c++模块.wmv 14-python...
面向对象程度设计基础课件 04 第四章 函数.ppt 面向对象程度设计基础课件 05 第五章 类与对象.ppt 面向对象程度设计基础课件 06 第六章 复合数据类型.ppt 面向对象程度设计基础课件 07 第七章 继承机制.ppt 面向对象...
7-4-2-面向对象的程序设计 7-4-3-基本例子 7-4-4-面向对象的特点 8-6-1-基本介绍 8-6-2-图形对象概念 8-6-3-交互式图形用户接口 8-6-4-图形库的应用方法 8-6-5-Turtle库介绍 8-6-6-图形用户接口实例 8-6-7-Turtle...
面向对象-构造函数-调用&内存图解
7-4-2-面向对象的程序设计 7-4-3-基本例子 7-4-4-面向对象的特点 8-6-1-基本介绍 8-6-2-图形对象概念 8-6-3-交互式图形用户接口 8-6-4-图形库的应用方法 8-6-5-Turtle库介绍 8-6-6-图形用户接口实例 8-6-7-Turtle...
7-4-2-面向对象的程序设计 7-4-3-基本例子 7-4-4-面向对象的特点 8-6-1-基本介绍 8-6-2-图形对象概念 8-6-3-交互式图形用户接口 8-6-4-图形库的应用方法 8-6-5-Turtle库介绍 8-6-6-图形用户接口实例 8-6-7-Turtle...
课程目标:绝对零基础Python3.x 入门,掌握Python语言常数据类型与操作、语句语法、流程控制、函数定义、模块管理,类与面向对象编程,错误与异常处理,文件读写等知识;为以后Python各方向领域编程打下坚实基础。...
C++ 面向对象程序设计--多态性与虚函数 C++ 面向对象程序设计--多态性与虚函数 C++ 面向对象程序设计--多态性与虚函数
第四章 面向对象的概念和 Java 实现-2 回顾 类是具有相同属性和行为的一组对象的 集合 , 对象是类的实例 封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节 类可用Class 来定义,类的变量和方法可被该类的...
面向对象程序设计201603-编写泛型函数1
2. Python面向对象编程 - 类和对象的概念,如何定义类和创建对象。 - 继承和多态的实现方式。 - 常用的Python标准库中的类,如文件操作、异常处理等。 3. Python数据处理 - 文件读写操作:打开、读取、写入文件的...
example-7.py 面向对象编程 example-8.py 正则表达式-原子 example-9.py 正则表达式-元字符 example-10.py 正则表达式-模式修正符 example-11.py 正则表达式-贪婪模式和懒惰模式 example-12.py 简单爬虫的编写...