Java基础之形式参数与返回值问题

4人阅读 评论(0) 收藏 举报
分类:

形式参数的问题:

       形式参数是基本类型,对实际参数没有影响(简单)

       形式参数是引用类型:

               1>  形式参数是普通类:此时需要的是该类的子类对象

举例:

packageorg.westos.形式参数和返回值的问题;

 

classStudent{

         public void study() {

                   System.out.println("GoodGood Study,Day Day Up...");

         }

}

classStudentDemo{

         //成员方法

         public void method(Student s) {

                   s.study();

         }

}

 

//测试类

publicclass PersonTest {

        

         public static void main(String[] args){

                   //在StudentDemo类中,method方法的形式参数是一个Student类(具体类)

                   //如何调用StudentDemo中的mehtod()方法

                   //创建StudentDemo对象

                   StudentDemo sd = newStudentDemo() ;

                   //需要创建Student的对象

                   sd.method(new Student());

                   System.out.println("----------------");       

                   //链式编程

                   //匿名对象是可以作为参数传递的

                   new StudentDemo().method(newStudent());

         }

}

              2>  形式参数是一个抽象类:此时这块需要的是该抽象类的子类对象   (抽象类多态...)

举例:

package org.westos.形式参数和返回值的问题;

 

//抽象的Person类

abstract class Person{

         publicvoid teach() {

                   System.out.println("今天天气不错,适合踢球...");

         }

}

 

class PersonDemo{

         publicvoid method(Person p) { //不能直接创建对象 Person p =new Person();  可以采用抽象类多态的形式实现

                   p.teach();

         }

}

 

//需要提供Pereson类的子类

class Teacher extends Person{

        

}

//测试类

public class TeacherTest {

 

         publicstatic void main(String[] args) {

                   //需求:需要调用PersonDemo类中的method()方法

                   //创建PersonDemo对象

                   PersonDemopd = new PersonDemo() ;

                   //可以通过子类进行实例化

                   Personp = new Teacher();

                   pd.method(p);

         }

}

                 接口:需要提供接口的子实现类,可以通过子实现类进行实例化:接口多态...

举例:

package org.westos.形式参数和返回值的问题;

 

//定义一个接口

interface Inter{

         publicabstract void study() ;

}

 

class InterDemo{

         publicvoid show(Inter i) { //需要创建该接口对象,不能直接实例化 Inter i = new Inter() ;错误的

                                     //需要提供接口的子实现类,可以通过子实现类进行实例化:接口多态...

                   i.study();

         }

}

 

//子实现类

class Student2 implements Inter{

 

         @Override

         publicvoid study() {

                   System.out.println("GoodGood Study ,Day Day Up ...");

         }

        

}

 

//测试类

public class StudentTest {

 

         publicstatic void main(String[] args) {

                   //需求:需要调用InterDemo这个了中的show()方法,如何调用

                   //创建InterDemo类的对象

                   InterDemoid = new InterDemo() ;

                   //接口多态的形式创建Inter对象

                   Interi = new Student2() ;

                   id.show(i);       

         }

}

 

 

 

 

返回值问题:

                如果返回值基本类型:用对应的基本类型去接收数据即可!

                 引用类型:

                           1>返回值是具体类:     需要的是该类的对象

举例:

package org.westos.形式参数和返回值的问题;

 

class Student3{

         publicvoid study() {

                   System.out.println("GoodGood Study ,Day Day Up ...");

         }

}

class StudentDemo3{

         publicint show() {

                   return100 ;

         }

         publicStudent3 method() {

                   //需要提供一个该具体类的对象,是一个具体类的情况

                   Student3s = new Student3();

                   returns ;

         }

}

 

//测试类

public class PersonTest2 {

 

         publicstatic void main(String[] args) {

                  

                   //调用StudentDemo3中的metohd方法

                   Student3s = new StudentDemo3().method() ;

                   s.study();

                   System.out.println("-------------------");

                  

                   StudentDemo3sd = new StudentDemo3() ;

                   Student3s2 = sd.method() ;

                   s2.study();

         }

}

                        2> 返回值是抽象类:那么返回需要的结果是需要当前抽象类的子类对象 抽象类多态

举例:

package org.westos.形式参数和返回值的问题;

 abstract class Person2{

          public void show() {

                    System.out.println("今天天气不错");

          }

 }

class Teacher2 extends Person2{

          

 }

 class PersonDemo2{

          public Person2 method() {

                    //返回值是一个抽象类

//               return new Person2() ; 抽象类不能实例化 ,需要提供该抽象类的子类

                    //抽象类多态的形式创建对象

//               Person2 p = new Teacher2() ;

//               return p ;

                    

                    return new Teacher2() ;         //匿名对象,还是通过子类实例化

          }

 }

 

 //测试类

public class StudentTest2 {

 

         publicstatic void main(String[] args) {

                  

                   PersonDemo2pd = new PersonDemo2() ;

                   Person2p = pd.method() ;  //  Person2 p = new new Teacher2() ;

                   p.show();

         }

}

                        3>返回值是 接口:提供接口的子实现类

举例:

package org.westos.形式参数和返回值的问题;

 

interface Inter2{

         publicabstract void study();

}

class InterImpl implements Inter2{

 

         @Override

         publicvoid study() {

                   System.out.println("好好学习,天天向上...");

         }

        

}

class InterDemo2{

         publicstatic Inter2 method() {

                  

         //接口不能实例化,提供接口的子实现类

         Inter2i = new InterImpl();

         returni ;

         }

}

 

public class TeacherTest2 {

        

         publicstatic void  main(String[] args) {

                   InterDemo2id = new InterDemo2() ;

                   Inter2i = id.method() ; //Inter2 i = new InterImpl() 接口多态的形式

                   i.study();

                  

                   Inter2i2 = new InterDemo2().method() ;

         }

}


查看评论

Java学习之形式参数,返回值

一、形式参数 1、数据类型: 基本类型:byte,short,int,long,float,double,char,()boolean 引用类型:数组,类,接口 2、形式参数: 基本类型:要...
  • RookieThree
  • RookieThree
  • 2017-04-17 10:00:27
  • 132

Java形式参数问题

如果形式参数是基本类型,形式参数的改变,不影响实际参数 如果形式参数是引用类型,形式参数的改变,直接影响实际参数 举例说明: package com.edu_homewok; public clas...
  • RookieThree
  • RookieThree
  • 2017-04-12 16:04:36
  • 901

Java之形式参数与返回值的问题

前言:我们研究形式参数和返回值是,主要是研究它的引用类型,主要包括具体类,抽象类,接口,在学习过程中,不要认为是学习新的知识点,我们就把他当做是知识点的扩充,回想这三个类的特点,这样学起来就快一点。主...
  • wt5264
  • wt5264
  • 2018-04-20 14:08:57
  • 6

Swift视频教程:函数篇 形式参数与返回值③多返回值

  • 2015年08月26日 16:28
  • 40.38MB
  • 下载

Swift视频教程:函数篇 形式参数与返回值②无返回值

  • 2015年08月26日 16:27
  • 22.49MB
  • 下载

形式参数和返回值的类型问题

一:形式参数问题 数据类型: 基本类型:byte,short,int,long,float,double,char,boolean 引用类型:类,接口,数...
  • Yaphst
  • Yaphst
  • 2017-04-19 22:47:06
  • 332

Java中形式参数与返回值问题

形式参数 数据类型:byte,short,int,long,float,double,char,boolean 引用类型:类,接口,数组 形式参数基本类型: 要的是该基本类型的数据值。 形式参数引用...
  • scbiaosdo
  • scbiaosdo
  • 2018-04-19 12:24:39
  • 3

Java编程基础-----重载方法的返回值

Overloaded的方法是可以改变返回值的类型。 这句话是正确的,唯一区分方法重载的是方法的参数列表不同,当参数列表不同时就可改变其返回类型 package alltest; public clas...
  • oyeshuier
  • oyeshuier
  • 2014-03-19 10:12:03
  • 777

java形式参数和实际参数

形式参数:在方法声明的参数 实际参数:方法中定义的参数
  • lighz
  • lighz
  • 2015-06-16 15:36:07
  • 2923

面向对象之形式参数与返回值问题

1.形式参数为类名时:需要的是该类的对象 程序代码如下: 1: class Student { 2: public void study() ...
  • Gttxiaoyao
  • Gttxiaoyao
  • 2015-07-12 22:39:38
  • 245
    个人资料
    等级:
    访问量: 0
    积分: 90
    排名: 0
    文章分类
    文章存档