《java入门第一季》之面向对象(形式参数和返回值问题深入研究1)
对于形式参数和返回值问题,值得花心思搞明白。因为后面很多参数传递,基本是需要对形式参数和返回值问题比较熟悉才能搞懂。接下来三篇分别介绍,形式参数代表引用类型:(类名,抽象类,接口)时的“研究”。
一:形式参数是引用类型 类名:
/* 形式参数: 基本类型(太简单,不需要解释) 引用类型 类名:匿名对象的时候其实已经讲过了需要的是该类的对象(见博客地址:http://blog.csdn.net/qq_32059827/article/details/51312038) */ class Student { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class StudentDemo { public void method(Student s) { s.study();//如果看到形式参数是一个类名,则需要传递的实际参数是一个该类的对象 } } class StudentTest { public static void main(String[] args) { //需求:测试Student类的study()方法 Student s = new Student(); s.study(); System.out.println("----------------"); //需求2:测试StudentDemo类中的method()方法 StudentDemo sd = new StudentDemo(); Student ss = new Student(); sd.method(ss); System.out.println("----------------"); //匿名对象用法 new StudentDemo().method(new Student()); } }返回值类型是引用类型 类
/* 返回值类型 基本类型:(基本类型太简单,不用解释) 引用类型: 类:返回的是该类的对象 */ class Student { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class StudentDemo { public Student getStudent() { return new Student();//匿名对象 } } class StudentTest2 { public static void main(String[] args) { //需求:要使用Student类中的study()方法 //但是,这一次的要求是,不要直接创建Student的对象 //使用StudentDemo帮创建对象 s2.study(); StudentDemo sd = new StudentDemo(); Student s = sd.getStudent(); //sd.getStudent()相当于调用方法,有一个返回值。该返回值是new Student();,用Student s来接收。就相当于Student s = new Student(); s.study(); } }