栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习笔记 | Java方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习笔记 | Java方法

Java方法 何为方法?

Java方法是语句的集合,在一起实现一些功能。

  • 方法是解决一类问题的步骤的有序组合
  • 尽量在一个方法中解决一个问题
方法的定义
  • 方法类似于函数,是一段用于完成特定功能的代码片段。一般包含:
  1. 修饰符

  2. 返回值类型

  3. 方法名

  4. 参数类型(形式参数、实参)

    (1)形式参数只是定义作用

  5. 方法体

方法重载

为了实现往相同的方法传递不同的参数。

不带参数的构造器称为默认构造器

默认构造器与类同名,且修饰符相同

根据参数的类型能够区分不同的重载方法

不能根据返回值类型的不同区别重载方法

基本类型的重载规则

类型小了,没匹配到方法,就将类型变大去匹配。如果类型大了,就缩小去匹配。

  • 注意:类型大了,只能手动去强制降级类型,数据的值可能发生变化,但是编译器不报错。
值传递与引用传递

Java中对对象采用的是值传递

  • 一个方法不能修改一个基本数据类型的参数(数值型和布尔型)。

  • 一个方法可以修改一个引用所指向的对象状态,但这仍然是按值调用而非引用调用。

  • 上面两种传递都进行了值拷贝的过程。

可变参数

JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。

方法的可变参数的声明如下所示:

typeName... parameterName

在方法声明中,在指定参数类型后加一个省略号(…) 。

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

举例:

public class VarargsDemo {
    //可变参数
    public static void main(String[] args){
        printMax(1,2,4,23,45,6);
        printMax(9,2,4,5);
        printMax(new double[]{1,2,3});
    }


    public  static void printMax(double... numbers){
        if (numbers.length == 0) {
            System.out.println("没有传递参数");
            return;
        }
        double res = numbers[0];
        for(int i = 1; i < numbers.length; i++){
            if(numbers[i] > res){
                res = numbers[i];
            }
        }
        System.out.println("最大值为:" + res);

    }
}
finalize()方法,在对象被垃圾收集器析构之前调用
protected void finalize(){
    //终结代码
}

protected能够确保该方法不会被该类以外的代码调用。

public class FinalizationDemo {  
  public static void main(String[] args) {  
    Cake c1 = new Cake(1);  
    Cake c2 = new Cake(2);  
    Cake c3 = new Cake(3);  
      
    c2 = c3 = null;  
    System.gc(); //调用Java垃圾收集器
  }  
}  
 
class Cake extends Object {  
  private int id;  
  public Cake(int id) {  
    this.id = id;  
    System.out.println("Cake Object " + id + "is created");  
  }  
    
  protected void finalize() throws java.lang.Throwable {  
    super.finalize();  
    System.out.println("Cake Object " + id + "is disposed");  
  }  
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号