二、06【Java编程基础】之Java方法

今天的博客主题

       Java编程基础 ——》Java方法


许多程序设计语言用函数这个术语来描述命名字程序,而在Java里却用方法这个术语来表示。

方法就是做某些事情的方式

 

什么是Java方法

方法可以看做是一个语句的集合,汇总一起来执行一个功能。

方法是解决一类问题步骤的有序组合。

方法应该被包含在类中。

 

Java方法的优点

1)利于程序的维护

2)提高代码的重用性

3)提高开发效率

4)使程序变得简短清晰

 

Java方法的声明使用

方法分为:实例方法和静态方法

方法的基本组成部分包括:名称、参数、返回值、方法体。

实例方法

一个完整的方法如下

// 多个参数逗号隔开:参数类型 参数名1, 参数类型 参数名2
访问修饰符 返回值类型 方法名(参数类型 参数名){
    方法体
}

访问修饰符:告诉编译器如何调用该方法。定义了该方法的访问类型。

返回值类型 :可能会有返回值,也有可能没有返回值。方法有返回值,返回值类型可以是基本类型,也可以是引用类型,在方法体后面需要return关键字来返回一个类型与返回值类型一样的值。没有返回值时候,返回值类型就是void关键字,那也就不需要return关键字了。

方法名:方法的实际名称。方法名和参数列表表共同构成方法签名,唯一的标识出某个方法。

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

方法体:方法体包含具体的语句,定义该方法的功能。

// 定义一个类。方法一定要在类中
public class TestA{
    // 有返回值的方法
    public boolean getAa(int i){
        boolean b = 1 + i > 2;
        return b;
    }
    // 没有返回值的方法
    public void getBb(int i){
        i += 1;
        System.out.println(i);
    }
}

方法命名规则:

1)方法名首字母小写

2)遵循驼峰命名法

3)避免使用连接符。

 

方法的使用

1)当前类中直接使用

2)不同类中,需要先实例化类,通过类的实例对象去调用

// 同类中方法直接使用
// 不同类中
// 定义一个类
public class TestB{
    // 实例化类
    TestA t = new TestA();
    // 直接调用方法,方法有返回值,用方法返回值类型来接收这个返回值
    boolean b = t.getAa(1);
    System.out.println(b);
    // 没有返回值的方法,就直接这样用
    t.getBb(2);
}

注意:方法只能通过对象才能被调用,且这个对象必须能执行这个方法调用。

如果试图在对象上调用它不具备的方法,在编译时就会得到一个错误信息。

 

静态方法

与实例方法一样,只是在声明的时候需要static关键字

// 定义一个类。不管是静态方法还是实例方法都在类中
public class TestA{
    // 声明一个没有返回值的静态方法
    public static void getAa(){
        int a = 1 + 1;
        System.out.println(i);
    }
}

静态方法的使用

1)同类中直接使用

2)不同类中直接使用类名点静态方法名就行了

// 直接通过类名点方法名调用
TestA.getAa()

注意:

1)静态方法只能访问类的静态变量,不能访问类的非静态变量。

2)非静态方法可以访问类的静态变量,也可以访问类的非静态变量。

3)非静态方法可以调用静态方法,静态方法不可调用非静态方法。

4)

 

构造方法

构造方法主要用来创建类的实例化对象,完成创建实例化对象的初始化工作。

构造方法的作用是初始化数据。

特点是:构造方法名称和类名一致,并且没有返回值类型和返回值。

构造方法包含:方法名,参数列表,方法体

访问修饰符 方法名(参数列表){
    方法体
}

构造方法的特点:

1)构造方法名称必须与类名一致。

2)构造方法没有返回值,关键字void不能加入。

3)任何类都有一个默认的构造方法,不含任何参数。

注意:

1)如果显示了定义的构造方法,系统就不会创建默认的不含参数的构造方法

2)重载一个有参数的构造方法,一定要先写一个无参数的构造方法,否则程序会崩溃。

 

所有方法的参数列表个数不限制,多个用逗号隔开。

方法调用传递参数时,不写数据类型,只写所对应数据类型的数据。

方法调用传递的参数列表顺序不能乱,个数不能少。

 

重写与重载

这两个关键字都是对方法来使用的,用来重写一个方法或者重载一个方法。

重写(Override):与返回值类型无关,只看参数列表。

重载(Overload):同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

 

两者不同主要体现在:目的不同、范围不同、参数不同、多态性不同、返回类型不同。

1)目的不同

重载用于增加程序的可读性(做法不同,但是做的同一事情)。

重写用于提供其超级类已经提供的方法的特定实现。

2)范围不同

重载在相同的类范围内内执行。

重写发生在两类具有继承的关系。

3)参数不同

重载参数必须不同。

重写参数必须相同。

4)多态性不同

重载静态多态,调用的函数在编译时被选中。

重写运行多态,在运行中展示多态性。

5)返回类型不同

重载中可以相同或不同,但必须改变参数。

重写必须是相同的或协变的。


新年快乐,好好学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值