热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

方法的返回值类型和参数类型

方法的返回值基本数据类型:byte,short,int,long,float,double,char,boolean引用数据类型:类:当类

方法的返回值
        基本数据类型:byte,short,int ,long,float,double,char,boolean
        
        引用数据类型:
            
            类:当类作为方法的返回值得的时候,实际上需要的是该类的对象
             

class Student3{public void study(){System.out.println("好好学习天天向上");}
}
class StudentDemo3{//今后你看到一个方法的返回值是一个类的类型的时候,//实际上返回的是该类对象的地址值。public Student3 fun(){Student3 s = new Student3();return s;}
}
public class StudentTest2 {public static void main(String[] args) {StudentDemo3 studentDemo3 = new StudentDemo3();Student3 s = studentDemo3.fun();s.study();}
}


            抽象类:当抽象类作为方法的返回值得时候,实际上需要的是该抽象类的子类对象的

                           地址值,
                    

abstract class Person3{public abstract void study();
}
class Doctor extends Person3{@Overridepublic void study() {System.out.println("好好学习医术");}
}
class PersonDemo3{//今后当你看到一个方法的返回值是一个抽象类类型的时候//需要返回的是该抽象类的子类对象public Person3 fun(){
// Person3 person3 = new Person3();
// Person3 p = new Doctor();
// return p;return new Doctor();}
}
public class PersonTest2 {public static void main(String[] args) {PersonDemo3 personDemo3 = new PersonDemo3();Person3 p = personDemo3.fun(); //Person3 p = new Doctor();p.study();}
}


            接口:当接口作为方法的返回值的时候,实际上需要的是实现该接口的类对象的地址值;
             

interface PlayGame3{public abstract void playLol();
}
class Teacher3 implements PlayGame3{@Overridepublic void playLol() {System.out.println("打英雄联盟");}
}
class TeacherDemo3{//当接口作为返回值类型的时候,需要的是实现该接口的类的对象public PlayGame3 fun(){return new Teacher3();}
}
public class TeacherTest2 {public static void main(String[] args) {
// TeacherDemo3 teacherDemo3 = new TeacherDemo3();
// PlayGame3 pg3 = teacherDemo3.fun();
// pg3.playLol();//链式编程(今后你们所学的spark,flink都是这样的写代码方式)//scalanew TeacherDemo3().fun().playLol();}
}


            数组:当数组作为方法的返回值得时候,实际上需要的是数组的地址值;形式参数
       

方法的形式参数:

         基本数据类型:byte,short,int ,long,float,double,char,boolean
        
        引用数据类型:
            
            类:当类作为方法的形式参数的时候,实际上需要的是该类的对象
             

class Student{public void study(){System.out.println("好好学习天天向上");}
}class StudentDemo{//但凡今后看到一个方法的参数是一个类的类型进行传参的时候//实际上穿传的是该类的对象的地址值public void fun(Student student){student.study();}
}public class StudentTest {public static void main(String[] args) {StudentDemo studentDemo = new StudentDemo();Student student = new Student();studentDemo.fun(student);}
}


            抽象类:当抽象类作为方法的形式参数的时候,实际上需要的是该抽象类的子类实现

                       对象的地 址值,

abstract class Person {public abstract void study();
}
class Student2 extends Person{@Overridepublic void study() {System.out.println("好好学习天天向上");}
}
class PersonDemo {//将来你看到当一个抽象类作为参数的类型的时候//实际上需要的时候该类子类实现对象的地址值,利用多态的形式创建public void fun(Person person) { //Person person = new Student2()person.study();}
}
public class PersonTest {public static void main(String[] args) {PersonDemo personDemo = new PersonDemo();//抽象类不能被实例化
// Person person = new Person();
// Person p = new Student2();
// personDemo.fun(p);personDemo.fun(new Student2());}
}


            
            接口:当接口作为方法的形式参数的时候,实际上需要的是该接口的实现类对象的

                      地址值,利用接口多态的方式创建;

interface Person2 {public abstract void study();
}
class Teacher implements Person2{@Overridepublic void study() {System.out.println("好好学习天天赚钱");}
}
class TeacherDemo{//今后你看到一个方法的参数类型是一个接口的时候,//实际上需要的是该接口的实现类对象的地址值,利用接口多态的方式创建public void fun(Person2 person2){person2.study();}
}
public class TeacherTest {public static void main(String[] args) {TeacherDemo teacherDemo = new TeacherDemo();
// Person2 person2 = new Person2();Person2 p = new Teacher();teacherDemo.fun(p);}
}


             
            数组:当数组作为方法的形式参数的时候,实际上需要的是数组的地址值;

             


推荐阅读
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了在Java中gt、gtgt、gtgtgt和lt之间的区别。通过解释符号的含义和使用例子,帮助读者理解这些符号在二进制表示和移位操作中的作用。同时,文章还提到了负数的补码表示和移位操作的限制。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
author-avatar
路边一烧饼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有