精华内容
下载资源
问答
  • Java函数构造方法

    2021-02-27 19:34:46
    通过优锐课的java架构学习中,了解了关于java函数构造方法,分享给大家学习参考。使用Java构造函数创建对象Java构造函数创建一个已定义对象的新实例。 本文讨论如何使用Java构造函数方法创建Person对象。注意:对于...

    通过优锐课的java架构学习中,了解了关于java函数构造方法,分享给大家学习参考。

    使用Java构造函数创建对象

    Java构造函数创建一个已定义对象的新实例。 本文讨论如何使用Java构造函数方法创建Person对象。

    注意:对于本示例,你需要在同一文件夹中创建两个文件:Person.java定义Person类,PersonExample.java包含创建Person对象的main方法。

    构造方法

    让我们开始创建一个Person类,它具有四个私有字段:firstName,lastName,address和username。 这些字段是私有变量,它们的值共同构成对象的状态。 我们还添加了最简单的构造方法:

    public class Person {

    private String firstName;

    private String lastName;

    private String address;

    private String username;

    //The constructor method

    public Person()

    {

    }

    }

    构造函数方法与任何其他公共方法相似,不同之处在于它与类共享相同的名称,并且不能返回值。 它可以没有一个,一个或多个参数。

    当前,我们的构造函数方法什么也不做,现在是时候考虑这对于Person对象的初始状态意味着什么了。 如果我们保持现状,或者我们的Person类中没有包含构造函数方法(在Java中你可以定义一个没有一个的类),那么字段将没有值-我们当然希望我们的人有一个名字 和地址以及其他特征。 如果你认为有可能无法按预期使用对象,并且在创建对象时可能未初始化字段,请始终使用默认值定义它们:

    public class Person {

    private String firstName = "";

    private String lastName = "";

    private String address = "";

    private String username = "";

    //The constructor method

    public Person()

    {

    }

    }

    通常,为了确保构造函数方法有用,我们将其设计为带有参数。 通过这些参数传递的值可用于设置私有字段的值:

    public class Person {

    private String firstName;

    private String lastName;

    private String address;

    private String username;

    // The constructor method

    public Person(String personFirstname, String personLastName, String personAddress, String personUsername)

    {

    firstName = personFirstName;

    lastName = personLastName;

    address = personAddress;

    username = personUsername;

    }

    // A method to display the state of the object to the screen

    public void displayPersonDetails()

    {

    System.out.println("Name: " + firstName + " " + lastName);

    System.out.println("Address: " + address);

    System.out.println("Username: " + username);

    }

    }

    现在,我们的构造函数方法希望将四个字符串的值传递给它。 然后将它们用于设置对象的初始状态。 我们还添加了一个名为displayPersonDetails()的新方法,使我们能够在对象创建后查看其状态。

    调用构造方法

    与对象的其他方法不同,必须使用“ new”关键字来调用构造函数方法:Unlike

    public class PersonExample {

    public static void main(String[] args) {

    Person dave = new Person("Dave", "Davidson", "12 Main St.", "DDavidson");

    dave.displayPersonDetails();

    }

    }

    这是我们所做的:

    00001. 要创建Person对象的新实例,我们首先定义一个Person类型的变量来保存该对象。 在这个例子中,我们称它为戴夫。

    00002. 在等号的另一端,我们调用Person类的构造方法,并向其传递四个字符串值。 我们的构造方法将采用这四个值,并将Person对象的初始状态设置为:firstName =“ Dave”,lastName =“ Davidson”,地址=“ 12 Main St”,用户名=“ DDavidson”。

    注意我们如何切换到Java主类来调用Person对象。 当你使用对象时,程序将跨越多个.java文件。 确保将它们保存在同一文件夹中。 要编译和运行程序,只需编译并运行Java主类文件(即PersonExample.java)即可。 Java编译器非常聪明,可以意识到你也希望编译Person.java文件,因为它可以看到你在PersonExample类中使用了它。

    参数命名

    如果构造函数方法的参数与私有字段具有相同的名称,则Java编译器会感到困惑。 在此示例中,你可以看到我们通过在参数前面加上单词“ person”来区分它们。 值得一提的是,还有另一种方式。 我们可以使用“ this”关键字来代替:

    // The constructor method

    public Person(String firstName, String lastName, String address, String username)

    {

    this.firstName = firstName;

    this.lastName = lastName;

    this.address = address;

    this.username = username;

    }

    关键字“ this”告诉Java编译器,要为其赋值的变量是由类定义的变量,而不是参数。 这是编程风格的问题,但是这种方法可以帮助我们定义构造函数参数,而不必使用多个名称。

    不止一种构造方法

    在设计对象类时,不限于仅使用一种构造方法。 你可能会决定有几种方法可以初始化对象。 使用多个构造函数方法的唯一限制是参数必须不同。

    想象一下,当我们创建Person对象时,我们可能不知道用户名。 让我们添加一个新的构造函数方法,该方法仅使用firstName,lastName和address设置Person对象的状态:

    public class Person {

    private String firstName;

    private String lastName;

    private String address;

    private String username;

    // The constructor method

    public Person(String firstName, String lastName, String address, String username)

    {

    this.firstName = firstName;

    this.lastName = lastName;

    this.address = address;

    this.username = username;

    }

    // The new constructor method

    public Person(String firstName, String lastName, String address)

    {

    this.firstName = firstName;

    this.lastName = lastName;

    this.address = address;

    this.username = "";

    }

    // A method to display the state of the object to the screen

    public void displayPersonDetails()

    {

    System.out.println("Name: " + firstName + " " + lastName);

    System.out.println("Address: " + address);

    System.out.println("Username: " + username);

    }

    }

    请注意,第二个构造函数方法也称为“ Person”,并且它也不返回值。 它与第一个构造函数方法之间的唯一区别是参数–这次它仅需要三个字符串值:firstName,lastName和address。

    现在,我们可以通过两种不同的方式创建Person对象:

    public class PersonExample {

    public static void main(String[] args) {

    Person dave = new Person("Dave", "Davidson", "12 Main St.", "DDavidson");

    Person jim = new Person("Jim","Davidson", "15 Kings Road");

    dave.displayPersonDetails();

    jim.displayPersonDetails();

    }

    }

    将使用名字,姓氏,地址和用户名创建人员戴夫。 但是Person Person不会获得用户名,即用户名将为空字符串:username =“”。

    快速回顾

    仅当创建对象的新实例时才调用构造方法。 他们:

    · ·必须与班级同名

    · ·不要返回值

    · 可以没有,一个或多个参数

    · ·只要每个构造函数方法具有一组不同的参数,就可以编号多个

    · ·只要使用“ this”关键字,参数名称就可以与私有字段相同

    · ·使用“ new”关键字进行调用> 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等

    > 如果你对java技术很感兴趣也可以交流学习,共同学习进步。

    > 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

    文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货

    展开全文
  • Java 函数传参

    2021-02-12 19:02:23
    Java 函数传参仅作为个人看法首先声明一下, 在java函数传参是值传递, 不是引用传递. 要弄清楚这个问题之前要先弄清楚什么是值传递,什么是引用传递.函数传参有两种方式值传递 (pass by value): 是指在调用函数时将...

    Java 函数传参

    仅作为个人看法

    首先声明一下, 在java中函数传参是值传递, 不是引用传递. 要弄清楚这个问题之前要先弄清楚什么是值传递,什么是引用传递.

    函数传参有两种方式

    值传递 (pass by value): 是指在调用函数时将实际参数复制一份传递到函数中, 这样在函数中如果参数进行修改,将不会影响到实际参数 .

    引用传递 (pass by reference): 是指在调用函数时将实际参数的地址直接传递到函数中, 这样在函数如果对参数进行修改, 将影响实际参数

    #传递基本类型变量

    @Test

    public void testParam(){

    int i = 10;

    pass(10);

    System.out.println(i); //10

    }

    public static void pass(int i){

    i=i+1;

    }

    这里将 `int i = 10` 复制一份, 然后将复制后的基本变量传到函数中, 在函数中对基本变量修改, 因为是两个独立的变量, 所以函数中修改值并不会对实际的参数的值造成影响.

    带 '为复制的参数

    e190dbd5df586752df612a89d3058997.png

    #传递引用类型变量

    @Test

    public void testParam(){

    User user = new User("zs", 1);

    pass(user);

    System.out.println(user);

    }

    public static void pass(User u){

    u.setUsername("张三");

    }

    9c786c97841e949b773a87ca9eb5bec2.png

    这里的new User() 和new User() ' 都是引用变量, 虽然两个引用变量的地址不同, 但是引用的同一个堆内存中的User, 所以方法中修改对象, 外部也会变

    #那么为什么java传递引用类型就是值传递呢?

    请看下一个例子

    @Test

    public void testParam(){

    String a="abc";

    pass(a);

    System.out.println(a);

    }

    public static void pass(String a){

    a = "ABC";

    }

    加入是引用传递的话传的是一个地址, 那么在函数中修改值的话, 那因该输出的结果是"ABC"

    但是呢 结果却是 "abc"

    1b8717c8990a933c9c52143eecda6143.png

    函数运行完后a' 变量指向了 ABC, 那么就与实际参数无关了, 而方法执行完就出栈了

    展开全文
  • java函数是什么

    2021-02-26 11:19:35
    Java中函数也叫方法,是定义在类...本篇文章将介绍Java函数的定义与使用方法。函数是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。为什么需要函数呢?目的是为了提高程序的复用性和...

    Java中函数也叫方法,是定义在类中的一段独立的代码块,用来实现某个功能;作用是提高代码的复用性和可读性。函数的语法格式为“修饰符 返回值类型 函数名(形式参数类型1 参数名1...){函数体语句;return 返回值;}”。

    0a3598eeda76043261aec07a1c5b6849.png

    本篇文章将介绍Java函数的定义与使用方法。

    函数是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。

    为什么需要函数呢?

    目的是为了提高程序的复用性和可读性。

    函数都是在栈内存中运行;运行的函数处在栈顶。

    函数的格式修饰符 返回值类型 函数名(形式参数类型1 参数名1,形式参数类型2 参数名2,形式参数类型3 参数名3......)

    {

    函数体语句;

    return 返回值;

    }

    说明:

    修饰符:public 公共的static 静态的

    返回值类型:就是函数所实现的功能结果的数据类型。

    方法名:自己定义,符合标识符命名规则就行;驼峰命名规则 :单个单词首字母小写,多个单词后面的单词首字母大写。

    参数列表:即形式参数列表,用于接收实际参数。

    参数类型:参数的数据类型

    参数名:即变量名

    函数体语句:就是函数要完成的功能

    return:用来结束函数

    返回值:即这个函数的功能的结果 ,由return带回调用地方。

    注意:void 表示不确定返回值类型,不能理解为没有返回值,只是返回值的类型不确定而已;

    此外,返回值类型为void时,由于其返回值类型不能确定,故不能定义形式参数变量来接收;

    当返回值类型为void时,return可以不写;但是当返回值类型为其他如int String等时就必须写,否则编译会出错。

    自定义一个函数的三步

    确定返回值类型

    确定方法名

    明确参数列表

    函数的参数传递

    形式参数:函数定义时的参数为形式参数------>简称形参

    实际参数:函数调用时的参数为实际参数 ------>简称实参

    参数传递:只能有实参传给形参

    注意:实参和形参在个数、顺序、类型上都要保持一致.

    例:编写一个求两个数的和的子函数 要求使用键盘录入的方式:import java.util.Scanner;//导入键盘录入的类 Scanner

    class Demo_1

    {

    public static void main(String[] args)

    {

    Scanner sc=new Scanner(System.in);//创建键盘录入类Scanner 的对象

    System.out.println("请输入第一个正整数");

    int num1=sc.nextInt();//通过对象sc调用Scanner类中的nextInt()方法读取输入的数据并进行存储

    System.out.println("请输入第二个正整数");

    int num2=sc.nextInt();

    int sums=add(num1,num2);//函数调用:定义一个int型的变量来接收和

    System.out.println("sums="+sums);

    }

    public static int add(int a,int b)//求和函数 子函数

    {

    int sum;

    sum=a+b;

    return sum;

    }

    }

    结果:1

    2

    sum=3

    展开全文
  • java 函数(方法)

    2021-02-28 13:08:11
    public classA{publicA(){System.out.println("调用了A的无参构造函数");}publicA(String mess){System.out.println("调用了A的有...}}B.javapublic classB extends A{publicB(){System.out.println("调用了B的无参...

    public classA{publicA(){

    System.out.println("调用了A的无参构造函数");

    }publicA(String mess){

    System.out.println("调用了A的有参的构造函数\n"+

    "参数内容为:"+mess);

    }

    }

    B.java

    public classB extends A{publicB(){

    System.out.println("调用了B的无参构造函数");

    }publicB(String mess){

    super(mess);

    System.out.println("调用了B的有参构造函数\n"+

    "参数内容为:"+mess);

    }

    }

    Test.java

    public classTest{public static voidmain(String [] args){

    B b_01=newB();

    B b_02=new B("你好");

    }

    }

    输出结果:

    243ab5a53188195080e7d1af98cefb1a.png

    java回调函数:

    C语言中回调函数解释:

    回调函数(Callback Function)是怎样一种函数呢?

    函数是用来被调用的,我们调用函数的方法有两种:

    l         直接调用:在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。这里,A称为“主叫函数”(Caller),B称为“被叫函数”(Callee)。

    l         间接调用:在函数A的函数体里并不出现函数B的函数名,而是使用指向函数B的函数指针p来使内存中属于函数B的代码片断得以执行——听起来很酷,是吧。

    比起直接调用来,间接调用的确麻烦,那为什么还要使用间接调用呢?原因很简单——直接调用把函数名都写进函数体了,经过编译器那么一编译,板上钉钉,A注定调用的是B了,这样的程序只能按照程序员事先设计好的流程执行下去,太呆板了。此时,间接调用的巨大灵活性就显现出来了。想一想,如果p是函数A的一个参数(参数是变量,是变量就可以变吗!),那么程序的最终用户完全可以通过操作来改变p的指向——这样,A在通过p调用函数的时候就有机会调用到不同的函数,这样程序的实用性和扩展性就强多了。

    在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调。在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃。这样的解释似乎还是比较难懂,这里举个简单的例子,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数正常情况下开发人员使用已经定义好的API,这个过程叫Call。但是有时这样不能满足需求,就需要程序员注册自己的程序,然后让事先定义好多API在合适的时候调用注册的方法,这叫CallBack。

    使用技巧:定一个接口,在接口中声明我们想调用的方法。

    在另一个方法中注册刚定义的回调接口

    例:

    程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中没有指针,怎么办?我们可以通过接口(interface)来实现定义回调函数。

    假设我是程序员A,以下是我的程序a:

    public class Caller

    {

    public MyCallInterface mc;

    public void setCallfuc(MyCallInterface mc)

    {

    this.mc= mc;

    }

    public void call(){

    this.mc.method();

    }

    }

    我还需要定义一个接口,以便程序员B根据我的定义编写程序实现接口。

    public interface MyCallInterface

    {

    public void method();

    }

    于是,程序员B只需要实现这个接口就能达到回调的目的了:

    public class B implements MyCallInterface

    {

    public void method()

    {

    System.out.println("回调");

    }

    public static void main(String args[])

    {

    Caller call = new Caller();

    call.setCallfuc(new B());

    call.call();

    }

    }

    总结:b叫a调用了b实现MyCallInterface接口的method方法

    展开全文
  • java函数怎么写

    2021-03-04 01:29:00
    Java中,函数又被称为方法。函数的主要作用是为了提高代码的复用性。函数都是在栈内存中运行;运行的函数处在栈顶。函数格式:修饰符 返回值类型 函数名 ( [ 参数类型1 参数名1,参数类型2 参数名2.... ] ){// [ ] ...
  • Java 函数入口

    2021-02-27 08:38:30
    Java 的入口函数:public static void main(String args[])其中,括号中的参数是不可以省略的。另外,每个.java文件中有且仅有一个 属性为 public 的 class 。继承与接口示例:public class PhoneTest{public static...
  • java函数的定义以及使用方法介绍

    千次阅读 2021-02-25 19:08:15
    java函数的定义以及使用方法介绍发布时间:2020-04-24 16:28:40来源:亿速云阅读:116作者:小新今天小编给大家分享的是java函数的定义以及使用方法介绍,相信很多人都不太了解,为了让大家更加了解java函数,所以给...
  • JAVA函数的重载和重写

    2021-02-12 10:32:57
    一、什么是重载(overlording)在JAVA中,可以在同一个类中存在多个函数函数名称相同但参数列表不同。这就是函数的重载(overlording)。这是类的多太性表现之一。二、重载的作用:举个现实生活中的实例。假如你是个...
  • Java函数调用总结

    2021-02-12 09:00:48
    //思考:1.方法能不能写方法 2.为什么不能写public static ...}方法中不能直接定义方法,但可以在方法中定义类,类里面再定义方法:Java code?public static void main(String[] args) {class B {void test() {Sy...
  • 如果我的文件内容是v123我想要用readfile(string)函数读出它并复制给一个数组({1,2,3}),但是该数组无法返回。我试过吧readfile(string)改成float[][]型等等措施,可是都不成功...如果我的文件内容是 v 1 2 3 我想要...
  • 1.定义:没有返回值的函数:(当我不需要函数的计算结果再拿出来进行运算的时候,我就不需要有返回值,直接在函数中运算完成加工即可)static void 函数名(参数){函数体}调用:调用没有返回值的函数函数名(实际参数...
  • java函数参数默认值

    千次阅读 2021-02-27 08:17:54
    Java与C++不同不支持方法中的参数带默认值,但是可以通过重载、可变参数来实现该功能方法一:重载public class Test{/*** @param args*/public String getName(String firstName,String secondName){return ...
  • 写一个java函数

    2021-03-06 13:41:49
    不好意思,上面的代码有bug,迭代那里应该是用list来做循环的。修改代码如下publicStudent[]findStudents(Connectioncon,intage)throwsSQLException{Stringsql="selectid,name,agefromstudentwhereage>...
  • 展开全部import java.util.Scanner;public class Student {// 带有主函32313133353236313431303231363533e59b9ee7ad9431333332643834数的类,Score类在下面String name;Score score = new Score();// 此句有重大嫌疑...
  • 【Java8 新特性 7】java函数式接口

    千次阅读 多人点赞 2021-08-01 10:30:33
    一、函数式接口简介 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为 lambda 表达式。 Lambda 表达式和方法引用(实际上也可认为...
  • 小伙伴们知道在java中要怎么使用函数求和吗?数学函数一直是java逻辑上的重点,下面让我们通过一个实例来看看java是如何求和的吧。实例:packagecom;importjava.util.Scanner;publicclassAddadd{publicstaticvoidmain...
  • java随机函数详解

    2021-03-03 13:31:34
    本文主要介绍java里的一些随机函数实现与用法,也会附带介绍一些随机数知识。目前计算机实现的随机函数过程中,都是伪随机的,不过,可以实现统计学意义上的随机。比如手机鼠标移动位置,点击,系统的参数等等作为...
  • java怎么写函数

    2021-03-01 07:46:25
    java怎么写函数java函数组成是:(推荐教程:java教程)访问修饰符 返回值 函数名(形式参数){函数内容;}调用函数的方法:函数名(需要传递给‘形式参数’的数值或者变量)传递的数据的类型要与形式参数的数据类型一致...
  • JAVA基础篇(函数

    2021-02-12 15:41:31
    Java准备篇(HelloWorld) - 知乎专栏JAVA基础篇(函数)首先请大家想想这几个问题:1.java函数是什么?2.Java函数能干什么?3.Java函数怎么使用?我们接着昨天的来说:先建立一个函数名为add,细心的同学已经发现了里面...
  • Java中的函数指针

    2021-03-22 14:17:31
    Java 8开始,引入了lambda表达式,该表达式用作函数指针。Lambda表达式是在Java 8中引入的,被吹捧为Java 8的最大功能。Lambda表达式促进了函数式编程并极大地简化了开发。语法Lambda表达式的特征在于以下语法。...
  • Java中的嵌套函数

    2021-07-16 19:57:35
    Are there any extensions for the Java programming language that make it possible to create nested functions? There are many situations where I need to create methods that are only used once in the con...
  • Java终止函数深度分析

    2021-03-09 07:11:22
    Java终止函数是什么?对于对象而言,Java 终止函数履行最后的确认工作。这与Java 构造函数是相反的,Java 构造函数创建以及初始化了一个Java类实例。当一个对象不在被需要以及这些资源必须被用于其它对象的时候,在一...
  • 这篇文章主要介绍了java自定义函数调用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下一:主类中自定义函数在主类中,如果想要在main函数中调用自定义...
  • Java 变参函数的实现

    2021-03-04 03:37:02
    Java的变参函数实现实际上参数是一个数组,其简单用法如下public class variableParamTest {private static void variableParam(Object... args) {for (Object v : args) {System.out.print(v.toString() + " ");}...
  • Java中如何调用函数和自定义函数

    千次阅读 2021-02-12 09:00:49
    自定义32313133353236313431303231363533e4b893e5b19e31333365663433函数:结构为:[方法修饰符] ([]){方法体}有以下几种函数:方法有2种修饰符1)有public、protected、private三种显示的访问控制修饰符2)还可以有...
  • JAVA方法(函数)的调用

    千次阅读 2021-02-12 09:00:46
    控制程序流程的方法有3种,1.方法的调用 2.选择语句(if else)3.循环(while,do_while,for等),相信选择语句跟循环大家已经很熟悉了,今天我们说方法的调用,方法的调用是在一个叫方法调用栈的...如果一个JAVA程序是多...
  • java 获取当前函数

    2021-02-27 22:23:10
    import java.text.SimpleDateFormat;import java.util.Date;/*** Java实现类似C/C++中的__FILE__、__FUNC__、__LINE__等,主要用于日志等功能中。** @version 1.0 2011-07-13**/public abstract class CommonFunction...
  • 1.java8优势通过将行为进行抽象,java8提供了批量处理数据的并行类库,使得代码可以在多核CPU上高效运行。2.函数式编程的核心使用不可变值和函数函数对一个值进行处理,映射成另一个值。3.Lambda表达式一种紧凑的...
  • java中怎么定义函数

    2021-02-12 12:53:21
    Java中,函数又被称为方法。函数的主要作用是为了提高代码的复用性。函数都是在栈内存中运行,运行的函数处在栈顶。函数格式:修饰符 返回值类型 函数名 ( [ 参数类型1 参数名1,参数类型2 参数名2.... ] ){// [ ] ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,968,629
精华内容 787,451
关键字:

java函数

java 订阅