java如何定义构造函数,java 方法定义,方法重载,构造函数

本文详细介绍了Java中的方法定义、方法分类、方法重载、构造函数以及构造函数的重载。方法包括无返回值、带返回值、带参数的方法,而构造函数则用于对象的初始化。此外,还讨论了构造函数的特性和与普通函数的区别,并通过实例展示了如何进行方法和构造函数的重载。
摘要由CSDN通过智能技术生成

今天来梳理一下java中的方法

方法定义

方法重载

构造函数

方法定义

定义:可以简单的理解为:一个模型的功能,一个对象的行为,一个function(函数)

方法分类“

1. 返回值为空void的方法

public void m1() {

方法体

}

2. 带具体返回类型的方法

//返回基本类型

int getAge() {

return 18;

}

boolean isPerson() {

return false;

}

还有其他基本数据类型等

4 带参数的方法

基本数据类型

public static void main(String[] args) {

int age=10;

m4(age);

System.out.println(age);

}

//研究传入的基本类型变量的特性

static void m4(int age) {//对于基本类型来说,传入的变量会被copy-复制 一份

age+=10;

System.out.println(age);

}

//传任意基本类型的参数变量 和 任意的传入顺序

void m3(boolean isPerson,int age,float account) {

}

//传任意基本类型的参数变量

void m2(int age,boolean isPerson,float account) {

}

//传基本数据类型

void m1(int age){

}

类类型

当类类型作为方法参数时,它要的其实是一个具体的对象,所以要先创建一个对象,然后就这个对象传入这个方法里

public static void main(String[] args) {

Equipments jb=new Equipments();//先创建一个具体的对象

new EquipMent(jb);//将这个具体的对象传入这个方法里

}

class EquipMent{

public EquipMent(Equipments equipments) {

System.out.println("我是自装备");

}

}

class Equipments{

}

方法重载

定义:函数名相同,只要参数个数不同,参数顺序不同,则为不同的函数

void drink(Milk milk) {

System.out.println("牛奶");

}

void drink(int i) {//1

System.out.println("咪一口");

}

//先ao一下,在咪一口,在吸一口牛奶,最后滋溜一下

void drink(Ao ao,int i,Milk milk,Object obj) {

System.out.println("吸一口酒");

}

//先ao一下,在咪一口,在吸一口牛奶,最后滋溜一下

void drink() {

drink(null);//

drink(1);

drink(null,1,null,null);

}

//可变参数

void drink(int... i) {//与(int[] i)相似

System.out.println("1");

}

void drink(int[] as,int a) {

System.out.println("2");

}

void drink(int a,int b,int c) {

}

可变参数实际上就是可以自定义传入函数参数的个数,会自动封装一个数组来接受例如:

drink(1,1,1,1);==new int[]{1,1,1,1}

注意,可变参数不仅仅可以使用到基本数据类型,还可以用于对象类型

构造函数

定义:

方法名和类名一样(包括大小写)

没有返回类型

实例化一个对象的时候,必然调用构造方法

隐式的构造方法

Hero类的构造方法是

public Hero(){

}

这个无参的构造方法,如果不写,就会默认提供一个

如果提供了一个有参的构造方法

一旦提供了一个有参的构造方法

同时又没有显式的提供一个无参的构造方法

那么默认的无参的构造方法,就“木有了“

public Hero(){

}

public Hero(int a){ //那么,上一个构造函数就失去了它的作用

}

构造函数与普通函数的区别:

(1). 一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。

(2). 构造函数是在对象建立时由 jvm 调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。

(3). 普通函数可以使用对象多次调用,构造函数就在创建对象时调用。

(4). 构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。

(5). 构造函数没有返回值类型。

构造函数的方法重载

public static void main(String[] args) {

new EquipMent(1);

new EquipMent(1.1);

new EquipMent("dg");

Equipments jb=new Equipments();

new EquipMent(jb);

//m1();

}

}

//构造方法重载

class EquipMent{

//装备等级

public EquipMent(int grade) {

System.out.println("我是装备等级");

}

//装备的价格

public EquipMent(double price) {

System.out.println("我是装备的价格");

}

//装备的功能

public EquipMent(String function) {

System.out.println("我是装备的功能");

}

//子装备

public EquipMent(Equipments equipments) {

System.out.println("我是自装备");

//equipments.m2();

//equipments.quipments();

}

public EquipMent(EquipMent equipMent) {

// TODO Auto-generated constructor stub

}

}

//子装备类

class Equipments{

}

以上运行的结果为:

我是装备等级

我是装备的价格

我是装备的功能

我是自装备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值