Java SE --第七天

本文介绍了Java中的方法重载,强调同名方法需形参列表不同。讲解了可变参数的概念,允许参数个数可变,其实质为数组。详细阐述了作用域,包括全局变量和局部变量的区别。接着讨论构造器,它是类初始化的重要手段,无返回值且与类名相同。最后提到了this关键字,它代表当前对象,常用于访问成员和构造器。
摘要由CSDN通过智能技术生成

(全部来自“韩顺平教育”)

方法重载

一、基本介绍:

1、Java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!

2、重载的好处:减轻了起名、记名的麻烦

3、注意事项和使用细节:

        ①方法名:必须相同

        ②形参列表:必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求)

        ③返回类型:无要求

可变参数

1、基本概念:Java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法

2、基本语法:

访问修饰符 返回类型 方法名(数据类型... 形参名){

        ...

}

 举例:

class HspMethod {
    //int... 表示接受的是可变参数,类型是int,即可接收多个int(0-N)
    //使用可变参数时,可以当做数组来使用,即nums可以当做数组
    public int sum(int... nums) {
        
    }
}

3、注意事项和使用细节

①可变参数的实参可以为0个或任意多个

②可变参数的实参可以为数组

③可变参数的本质就是数组

④可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后

⑤一个形参列表中只能出现一个可变参数

作用域

1、基本使用

①在Java编程中,主要的变量就是属性(成员变量)和局部变量

②局部变量一般是指在成员方法中定义的变量

③Java中作用域的分类

        全局变量:即属性,作用域为整个类体

        局部变量:即除了属性之外的其他变量,作用域为定义它的代码块中

④全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后,才能使用,因为没有默认值

2、注意事项和使用细节

①属性和局部变量可以重名,访问时遵循就近原则

②在同一个作用域中,比如在同一个成员方法中,两个局部变量,不能重名

③属性生命周期较长,伴随着对象的创建而创建,伴随着对象的死亡而死亡。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而死亡,即在一次方法调用过程中。

④作用域范围不同

        全局变量/属性:可以被本类使用,或其他类使用(通过对象调用)

        局部变量:只能在本类中对应的方法中使用

⑤修饰符不同

        全局变量/属性可以加修饰符

        局部变量不可以加修饰符

构造方法/构造器

1、基本介绍

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化

特点:①方法名和类名相同

②没有返回值

③在创建对象时,系统会自动的调用该类的构造器完成对对象的初始化

2、基本语法

[修饰符] 方法名(形参列表){

        方法体;

}

说明:

①构造器的修饰符可以默认,也可以是public protected private

构造器没有返回值,也不能写void

方法名和类名必须一样

④参数列表和成员方法一样的规则

⑤构造器的调用,由系统完成

3、例子

class Person{

        String name;

        int age;

        //构造器

        public Person(String pName,int pAge){

                name = pName;

                age = pAge;

        }

}

 4、注意事项和使用细节

①一个类可以定义多个不同的构造器,即构造器重载

②构造器名和类名要相同

③构造器没有返回值

构造器是完成对象的初始化,并不是创建对象

⑤在创建对象时,系统自动的调用该类的构造方法

⑥如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造器)

默认构造器形式:方法名(){}

注:javap指令,反编译

 ⑦一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显示的定义一下,即方法名(){}

5、对象创建流程分析

流程分析:

1.加载Person类信息(Person.class),只会加载一次

2.在堆中分配空间(地址)

3.完成对象初始化[3.1默认初始化 age=0,name=null ;

                             3.2显式初始化  age=90,name=null ;

                             3.3构造器的初始化  age=20,name=小倩]

4.把对象在堆中的地址,返回给p(p是对象名,也可以理解成是对象的引用)

this关键字

1、概念:Java虚拟机会给每个对象分配this,代表当前对象。

简单地说,哪个对象调用,this就代表哪个对象

2、注意事项和使用细节

①this关键字可以用来访问本类的属性、方法、构造器

②this用于区分当前类的属性和局部变量

③访问成员方法的语法:this.方法名(参数列表);

④访问构造器语法:this.(参数列表);注意只能在构造器中使用(即只能在构造器中访问另一个构造器)

注意:访问构造器语法必须放置在第一条语句

⑤this不能再类定义的外部使用,只能在类定义的方法中使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值