老师请问,封装的实现1-9编程练习在这里的两个小问题

老师请问,封装的实现1-9编程练习在这里的两个小问题

package com.imooc.animal;


public class UserManager{

    // 用户信息验证的方法


    public String checkUser(User one, User two) {

    String str;

       // 判断用户名是否为空,是否一致

    if(one.getName().equals("")||two.getName().equals("")) {

    str="用户名为空";

    }else if(one.getName().equals(two.getName())) {

    str="用户名一致";

    }else {

    str="用户名不一致";

   

    }

   


    // 判断密码是否为空,是否一致

    if(one.getPassword().equals("")||two.getPassword().equals("")){

    str="密码为空";

    }else if(one.getPassword().equals(two.getPassword())==false) {

    str="密码不一致";

    }else {

   

    }

return str;

    }

    

}  

-------------------------------------------------------------------------

1.请问public String checkUser(User one, User two)这里定义方法参数列表里的参数类型为什么可以这样用?

2.请问 if(one.getName().equals("")||two.getName().equals("")) 这里为什么没有的方法的实例化为什么可以直接调用其他类里的方法

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1、User是对象类型,one是形参,就等同于int a,只不过这里的类型不是int换成User自定义封装的一个类型

2、这里的one和two都是通过调用这个方法的地方传值传过来的,所以在调用之前是要实例化的,在方法体checkUser()里就不需要了。

  • twodogegg 提问者 #1
    关于的2的回答里请问为什么在方法体checkUser()里就不需要了呢???????
    2018-06-03 22:45:54
  • irista23 回复 提问者 twodogegg #2
    因为checkUser()方法体里使用的one和two是参数传过来的
    2018-06-04 09:57:06
  • twodogegg 提问者 回复 irista23 #3
    不好意思老师我还是有点似懂非懂能举个简单的实例简单讲解一下吗?
    2018-06-04 12:51:26
irista23 2018-06-04 14:20:22

测试类中通过new分别创建了两个User类,并在调用checkUser() 方法时,将两个对象传入给方法了,方法体里就直接使用就可以了,如果在方法体中在重新创建对象,那么这里红框和蓝色框创建的对象就没有用了。

http://img1.sycdn.imooc.com//climg/5b14d98a0001d60f07160357.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师