首页 > 编程语言 >java_方法使用细节

java_方法使用细节

时间:2023-07-21 12:24:03浏览次数:24  
标签:java int 修饰符 构造 Person 细节 方法 public

java_方法使用细节


1.一个方法想要返回多个值

思考?一个方法如何返回多个值 返回数组

class AA{
    public int[] getSumAndSub(int n1, int n2){
        //.........
        int[] res = new int[2];//创建一个数组
        res[0] = n1 + n2;
        res[1] = n1 - n2;
        
        return res;
    }
}
2.返回类型可以使任意类型,包含基本数据类型和引用数据类型(数组,对象)
//如上
3.方法如果要求有返回数据类型,则方法体中最后的执行语句必须为 return 值;而且要求返回值类型必须和return的值类型一致或兼容
4.如果方法的返回值类型是 void ,则方法中可以没有retrurn语句 ,或者只写 return;
5.方法名遵循驼峰命名法,最好见名知意

可变参数


  1. 可变参数的实参可以是0个或任意多个
  2. 可变参数的实参可以是数组
  3. 可变参数的本质就是数组
  4. 可变参数可以和一个普通的类型的参数一起放在形参列表中,但必须保证可变参数在最后
  5. 一个形参列表中只能出现一个可变参数

变量的使用


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

细节

/*
1.属性和局部变量可以重名,访问的时候就进原则
2.在同一个作用域中,比如在同一个成员方法中,两个局部变量不能重名
3,属性的生命周期较长,;伴随着对象的创建而创建,对象的死亡而死亡,局部变量生命周期比较短,伴随着他的代码块的执行而创建,伴随着代码块法人借宿而死亡,即再一次方法法的调用过程中
4.作用域不同
	全局变量:可以被本类使用,或其他类使用(通过对象调用
	局部变量:只能在本类的对应方法中使用
5.修饰符不同
	全局变量/属性可以加修饰符
	局部变量不可以加修饰符
*/

构造器/构造方法


/*基本语法

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

​		方法体;

}*/

public class AA{
    public static void main(String[] args){
        //当我们new一个对象时。直接通过构造器指定姓名和年龄
        Person p1 = new Person("狄仁杰",20);
        
        Person p2 = new Person();
    }
}

/*
说明:
	1.构造器的修饰符可以使默认的,也可以是public protected private
	2.构造器没有返回值
	3.方法名和类名必须一样
	4.参数列表和成员方法一样的规则
	5.构造器的调用,由系统完成
*/

class Person{
    String name;
    int age;
    
    //构造器
    /*
    1.构造器没有返回值,也不写void
    2.构造器的名字和类名一样
    3.(String pName, int pAge) 是构造器的形参列表,规则和成员方法一样
    */
    
    //全参构造
    public Person(String pName, int pAge){
        name = pName;
        age = pAge;
    }
    
    //空参构造
    public Person(){}
}

构造器使用细节

  1. 一个类可以定义多个不同的构造器,即构造器的重载。比如:我们可以再给Person定义一个构造器,用来创建对象的时候之指定人名,不指定年龄
  2. 构造器名和类名相同
  3. 构造器没有返回值
  4. 构造器是完成对象的初始化,并不是创建对象
  5. 在创建对象时,系统自动调用该类的构造方法
  6. 如果程序员没有定义构造器,系统会默认给类默认生成一个无参的构造方法(即默认构造方法 空参构造) public Person(){}使用javap指令反编译看看
  7. 一旦定义了自己的构造器,默认的构造器就覆盖了就不能在使用默认的无参构造了除非显示的定义一下Person(){}

对象引用流程分析

image-20230720111842515

this的注意事项和使用细节


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

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

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

  4. 访问构造器的语法: this(参数列表) 注意只能在构造器中使用

  5. this不能在定义吧的外部使用,只能在定义的内部使用

    class T{
        
        //只能在构造器中访问构造器
        //注意
        //访问构造器语法必须放置在第一条语句
        public T(){
            //这里去访问构造器 T(String name, int age) 构造器
            this("jack", 100);
            
            System.out.println("T() 构造器");
        }
        
        public void f1(){
            System.out.println("f1() 方法.....");
        }
        
        public void f2(){
            
            System.out.println("f2() 方法.....");
            
            //调用本类的 f1()
            f1();
            //或者
            this.f1();
        }
    }
    

访问修饰符


image-20230720192158847

标签:java,int,修饰符,构造,Person,细节,方法,public
From: https://www.cnblogs.com/ice-big/p/17570960.html

相关文章

  • java数组的定义和使用规范
    java数组三种定义方式1.数组类型[]数组名字=new数组类型[数组长度]String[]str=newString[n];//这里n代表数组的长度可变//另外上面这种写法和下面这种写法作用一样没有区别Stringstr[]=newString[n];2.数组类型[]数组名={数组0,数组1,数组2.....};in......
  • java调取高德api获取经纬度
    //privatestaticfinalStringAPI_URL="https://restapi.amap.com/v3/geocode/geo";//privatestaticfinalStringKEY="f67db737cf6f8095e56a35f3";@Overridepublicvoidinvoke(WasteRoomInfoExcelDTOwasteRoomInfoExcelDTO,Analys......
  • 第七章 方法和封装
    1.构造方法1.1构造方法的基本概念格式class类名{类名(形参列表){构造方法体;}}classPerson{Person(){//Person类中的构造方法}}构造方法名与类名完全相同并且没有返回值类型,连void都不许有。1.2默认构造方法当一个类中没......
  • 解决Clipse Java内存溢出问题的几种方案
    解决ClipseJava内存溢出问题的几种方案随着Java应用程序的复杂度不断提高,内存溢出成为一个常见的问题。当应用程序超出了可用内存资源时,就会发生内存溢出错误。而在ClipseJava编程开发中,也常常会遇到这样的问题。为了解决这个问题,本文将介绍一些可行的解决方案。1.增加JVM堆......
  • Eclipse如何安装JavaEE插件
     Eclipse是Java编程领域最常用的开发工具之一,它提供了丰富的插件来支持各种编程语言和框架。对于JavaEE开发者来说,安装JavaEE插件是非常必要的,因为它可以为我们提供更多的工具和功能,使我们的开发工作更加高效和便捷。本文将一步步教你如何在Eclipse中安装JavaEE插件。首先,我们......
  • Java并发处理任务
    背景当一个任务执行时间过长的时候,并且这个任务可以分解成多个独立的任务时,可以使用Java多线程来减少执行时间。第一版publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedException{func1();}privatestaticvoidfunc1()t......
  • CMPP2协议的Java实现方式
    CMPP2协议的Java实现方式在移动通信领域,短信服务一直是非常重要的一部分。为了实现高效、稳定的短信传输,运营商们制定了一系列短信协议。其中,CMPP2协议是目前最常用的一种协议之一。本文将着重介绍CMPP2协议的Java实现方式,帮助读者更好地了解和应用这一协议。首先,我们需要明确C......
  • JavaIO中的缓冲流有什么作用如何使用缓冲流进行IO操作
     缓冲流在JavaIO中扮演着非常重要的角色,它可以提高IO操作的效率,减少访问硬盘的次数。在本文中,我们将探讨JavaIO中的缓冲流的作用,并演示如何使用缓冲流进行IO操作。首先,让我们了解一下什么是缓冲流。缓冲流是一种高级流,它通过在内存中创建缓冲区来提高IO的效率。当我们使用缓冲......
  • 9探索Java内置函数的隐藏功能和高级用法
     Java作为一种广泛使用的编程语言,拥有丰富的内置函数库,这些函数可以大大简化开发过程,并提供了许多强大的功能。然而,除了常见的用法之外,Java内置函数还具有一些隐藏的功能和高级用法,这些功能和用法可能被开发者所忽视,但却能提高代码的效率和可读性。本文将围绕这一主题,探索Java内......
  • 9Java中如何判断一个字符串是否包含另一个子串
    在Java中,我们经常会遇到需要判断一个字符串是否包含另一个子串的情况。对于这个问题,我们可以使用一些简单而有效的方法来解决。本文将介绍几种常见的方法,以及它们的优缺点。方法一:使用contains方法Java中的String类提供了一个contains方法,可以很方便地判断一个字符串是否包含另......