热门标签 | 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);}
}


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

             


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 文件描述符、文件句柄与打开文件之间的关联解析
    本文详细探讨了文件描述符、文件句柄和打开文件之间的关系,通过具体示例解释了它们在操作系统中的作用及其相互影响。 ... [详细]
  • 本文详细探讨了VxWorks操作系统中双向链表和环形缓冲区的实现原理及使用方法,通过具体示例代码加深理解。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
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社区 版权所有