加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

10-02 Java 形式参数和返回值的问题深入研究,链式编程

发布时间:2020-12-14 06:09:31 所属栏目:Java 来源:网络整理
导读:形式参数和返回值的问题: 1 1 2 3 这种用法:其实在方法1()调用完毕后,应该一个对象; 方法2()调用完毕后,应该返回一个对象。 方法n()调用完毕后,可能是对象,也可以不是对象。/span/pre 类名作为形式参数 "Good Good Study,Day Day Up" span style="col

形式参数和返回值的问题:

1123 这种用法:其实在方法1()调用完毕后,应该一个对象; 方法2()调用完毕后,应该返回一个对象。 方法n()调用完毕后,可能是对象,也可以不是对象。</span></pre>

类名作为形式参数

"Good Good Study,Day Day Up"<span style="color: #0000ff;">class<span style="color: #000000;"> StudentDemo {
<span style="color: #0000ff;">public
<span style="color: #0000ff;">void
method(<span style="color: #ff0000;">Student s
) { <span style="color: #008000;">//
<span style="color: #008000;">ss; <span style="color: #ff0000;">ss = new Student(); 需要的是该类的对象

<span style="color: #000000;"> s.study();
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> StudentTest {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">需求:我要测试Student类的study()方法
Student s = <span style="color: #0000ff;">new<span style="color: #000000;"> Student();
s.study();
System.out.println("----------------"<span style="color: #000000;">);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;需求2:我要测试StudentDemo类中的method()方法</span>
    StudentDemo sd = <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; StudentDemo();
    <span style="color: #ff0000;"&gt;Student ss </span></span><span style="color: #ff0000;"&gt;= new</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt; Student();</span>
    sd.method(<span style="color: #ff0000;"&gt;ss</span>);
    System.out.println(</span>"----------------"<span style="color: #000000;"&gt;);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;匿名对象用法</span>
    <span style="color: #0000ff;"&gt;new</span> StudentDemo().method(<span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; Student());
}

}

抽象类名作为形式参数

接口 <span style="color: #0000ff;">class<span style="color: #000000;"> PersonDemo {
<span style="color: #0000ff;">public
<span style="color: #0000ff;">void
method(Person p) {<span style="color: #ff0000;">//p; p = new Student(); Person p = new Student(); //多态

<span style="color: #000000;"> p.study();
}
}

<span style="color: #008000;">//<span style="color: #008000;">定义一个具体的学生类
<span style="color: #0000ff;">class Student <span style="color: #0000ff;">extends<span style="color: #000000;"> Person {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> study() {
System.out.println("Good Good Study,Day Day Up"<span style="color: #000000;">);
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> PersonTest {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">目前是没有办法的使用的
<span style="color: #008000;">//<span style="color: #008000;">因为抽象类没有对应的具体类
<span style="color: #008000;">//<span style="color: #008000;">那么,我们就应该先定义一个具体类
<span style="color: #008000;">//<span style="color: #008000;">需求:我要使用PersonDemo类中的method()方法
PersonDemo pd = <span style="color: #0000ff;">new<span style="color: #000000;"> PersonDemo();
<span style="color: #ff0000;">Person p <span style="color: #ff0000;">= new<span style="color: #000000;"><span style="color: #ff0000;"> Student();
pd.method(<span style="color: #ff0000;">p);
}
}

接口名作为形式参数

<span style="color: #0000ff;">class<span style="color: #000000;"> LoveDemo {
<span style="color: #0000ff;">public
<span style="color: #0000ff;">void
method(<span style="color: #ff0000;">Love l
) { <span style="color: #008000;">//
<span style="color: #008000;">l; <span style="color: #ff0000;">l = new Teacher(); Love l = new Teacher(); 多态

<span style="color: #000000;"> l.love();
}
}

<span style="color: #ff0000;">//定义具体类实现接口
<span style="color: #0000ff;">class Teacher <span style="color: #0000ff;">implements<span style="color: #000000;"> Love {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> love() {
System.out.println("老师爱学生,爱Java,爱林青霞"<span style="color: #000000;">);
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> TeacherTest {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">需求:我要测试LoveDemo类中的love()方法
LoveDemo ld = <span style="color: #0000ff;">new<span style="color: #000000;"> LoveDemo();
<span style="color: #ff0000;"> Love l <span style="color: #ff0000;">= new<span style="color: #000000;"><span style="color: #ff0000;"> Teacher();
ld.method(l);
}
}

?

类名作为返回值类

抽象类: 接口: "Good Good Study,Day Day Up"<span style="color: #0000ff;">class<span style="color: #000000;"> StudentDemo {
<span style="color: #0000ff;">public
<span style="color: #000000;"><span style="color: #ff0000;"> Student
getStudent() {
<span style="color: #008000;">//
<span style="color: #008000;">Student s = new Student();
<span style="color: #008000;">//<span style="color: #008000;">Student ss = s;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;Student s = new Student();
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;return s;</span>
   <span style="color: #ff0000;"&gt; return new</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt; Student();</span>
}

}

<span style="color: #0000ff;">class<span style="color: #000000;"> StudentTest2 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">需求:我要使用Student类中的study()方法
<span style="color: #008000;">//<span style="color: #008000;">但是,这一次我的要求是,不要直接创建Student的对象
<span style="color: #ff0000;">//让你使用StudentDemo帮你创建对象
StudentDemo sd = <span style="color: #0000ff;">new<span style="color: #000000;"> StudentDemo();
Student s = sd.getStudent(); <span style="color: #ff0000;">//new Student(); Student s = new Student();
<span style="color: #000000;"> s.study();
}
}

?

抽象类作为返回值类型

接口: <span style="color: #0000ff;">class<span style="color: #000000;"> PersonDemo {
<span style="color: #0000ff;">public
<span style="color: #000000;"><span style="color: #ff0000;"> Person
getPerson() {
<span style="color: #008000;">//
<span style="color: #008000;">Person p = new Student();
<span style="color: #008000;">//
<span style="color: #008000;">return p;

    <span style="color: #ff0000;"&gt;return new</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt; Student();</span>
}

}

<span style="color: #0000ff;">class Student <span style="color: #0000ff;">extends<span style="color: #000000;"> Person {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> study() {
System.out.println("Good Good Study,Day Day Up"<span style="color: #000000;">);
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> PersonTest2 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">需求:我要测试Person类中的study()方法
PersonDemo pd = <span style="color: #0000ff;">new<span style="color: #000000;"> PersonDemo();
Person p = pd.getPerson(); <span style="color: #ff0000;">//new Student(); Person p = new Student(); 多态
<span style="color: #000000;"> p.study();
}
}

?

接口作为返回值类型

<span style="color: #0000ff;">class<span style="color: #000000;"> LoveDemo {
<span style="color: #0000ff;">public
<span style="color: #000000;"> Love getLove() {
<span style="color: #008000;">//
<span style="color: #008000;">Love l = new Teacher();
<span style="color: #008000;">//
<span style="color: #008000;">return l;

    <span style="color: #0000ff;"&gt;return</span> <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; Teacher();
}

}

<span style="color: #008000;">//<span style="color: #008000;">定义具体类实现接口
<span style="color: #0000ff;">class Teacher <span style="color: #0000ff;">implements<span style="color: #000000;"> Love {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> love() {
System.out.println("老师爱学生,爱林青霞"<span style="color: #000000;">);
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> TeacherTest2 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">如何测试呢?
LoveDemo ld = <span style="color: #0000ff;">new<span style="color: #000000;"> LoveDemo();
Love l = ld.getLove(); <span style="color: #008000;">//<span style="color: #008000;">new Teacher(); Love l = new Teacher(); 多态
<span style="color: #000000;"> l.love();
}
}

?

链式编程

"Good Good Study,Day Day Up"<span style="color: #0000ff;">class<span style="color: #000000;"> StudentDemo {
<span style="color: #0000ff;">public
<span style="color: #000000;"> Student getStudent() {
<span style="color: #0000ff;">return
<span style="color: #0000ff;">new
<span style="color: #000000;"> Student();
}
}

<span style="color: #0000ff;">class<span style="color: #000000;"> StudentTest3 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">如何调用的呢?
StudentDemo sd = <span style="color: #0000ff;">new<span style="color: #000000;"> StudentDemo();
<span style="color: #008000;">//<span style="color: #008000;">Student s = sd.getStudent();
<span style="color: #008000;">//<span style="color: #008000;">s.study();

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;大家注意了,这里采用链式编程</span>

<span style="color: #000000;"><span style="color: #ff0000;"> sd.getStudent().study();
}
}

                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读