前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA编程基础(六) 在Java类中添加方法

JAVA编程基础(六) 在Java类中添加方法

作者头像
青山师
发布2023-05-04 20:18:52
8040
发布2023-05-04 20:18:52
举报

学习访问器(存取(getter、setter))方法的声明使用和方法调用

本节学习目标

  • 学会编写使用访问器(存取(getter、setter))方法
  • 学会正确调用无参的或者有参的方法
  • 学会嵌套调用方法

访问器方法

在第五节中展示的getter、setter方法我们也叫访问器方法(迅速温故:getter方法是返回指定属性值的的方法,setter方法是可以设置(修改)指定属性的方法)。封装一个类的实例对象的数据,你需要声明其属性变量为private,然后提供访问器方法。

访问器方法的命名严格遵守JavaBean模式。在这种模式下的一个示例:属性foo有一个getter方法为getFoo(),有一个setter方法为setFoo()。JavaBeans模式是很常见的,Eclipse IDE支持内建,你可以自动生成getter、setter方法,具体步骤可以回顾第五节的内容。

访问器的一些参考:

  • 属性纵使使用private访问控制修饰符修饰
  • getter、setter通常使用public修饰
  • getterXX方法没有参数,它返回该类型对象的指定属性XX的值
  • setter方法有一个参数值为该属性的值,无返回值

声明访问器方法

到目前为止,最简单的方法生成getter、setter方法可以使用Eclipse。但是你也应该知道如何手动编写getter、setter方法。

假设有一个属性foo,类型是java.lang.String。关于foo属性的完整的访问器方法:

代码语言:javascript
复制
private String foo;
public String getFoo() {
  return foo;
}
public void setFoo(String value) {
  foo = value;
}

调用方法

方法的调用时很简单的,第五节的测试用例中已经展示了调用getter方法获得对应的属性值了。

无参方法的调用

调用一个对象的方法,你需要引用这个对象。方法的调用包含:

  • 对象的引用
  • 点符.
  • 方法名
  • 需要传入的参数

无参方法调用的语法:

代码语言:javascript
复制
objectReference.someMethod();

这是一个示例:

代码语言:javascript
复制
Person p = new Person("Joe Q Author", 42, 173, 82, "Brown", "MALE");
p.getName();

含参方法的调用:

代码语言:javascript
复制
objectReference.someOtherMethod(parameter1, parameter2, . . ., parameterN);

这是一个示例(设置name属性值):

代码语言:javascript
复制
Person p = new Person("Joe Q Author", 42, 173, 82, "Brown", "MALE");
p.setName("Jane Q Author");

我们还记得,构造器也是方法。调用方法时,你可以用空格和换行符分隔参数。下面两种方式是一样的:

代码语言:javascript
复制
/*方式一*/
new Person("Joe Q Author", 42, 173, 82, "Brown", "MALE");

/*方式二*/
new Person("Joe Q Author",// Name
  42,     // Age
  173,    // Height in cm
  82,     // Weight in kg
  "Brown",// Eye Color
  "MALE");// Gender

注意上面的注释,可以让之后接手项目的人容易看懂。一看,开发人员就可以知道每个参数是什么。

嵌套方法的调用

方法可以嵌套调用:

代码语言:javascript
复制
Logger l = Logger.getLogger(Person.class.getName());
l.info("Name: " + p.getName());

这里,通过Person.class.getName()的返回值作为调用 getLogger()的参数。还记得,getLogger是静态方法的调用,使用类名调用,和对象方法稍有不同。

测测你学到多少

代码语言:javascript
复制
1.关于JavaBean模式的最好描述是?
    a.它是你编写任何java程序都需要遵守的规范.
    b.这是一种特别的方式,关于如何声明,访问,和设定一个java对象的属性值
    c.JavaBean模式无法再编码中使用,它只存在理想条件中.
    d.以上说法均不对

2.invoking一个方法 and calling一个方法的区别?
    a.Invoking是使用关键字static调用. Calling方法仅仅针对实例对象的方法.
    b.Calling一个方法意味着彻底记录它, invoking只在源码层面调用.
    c.没什么区别,都是执行一个方法
    d.区别只在Python或者Ruby语言中.
    e.以上说法均不对

3.构造器不是方法
    a.视编译器而定
    b.错
    c.有时候是,只是构造器不能有参数
    d.对

4.**编程题**:实现Person的toString()方法. 并且将该代码在第5个问题中使用. 使用Javadoc描述toString()方法。

5.**编程题**: 编写一个单元测试用例用来测试第4个问题中你编写的toStirng()方法. 将你的测试方法添加到上一节中的PersonTest中去。.

答案见下一节。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本节学习目标
  • 访问器方法
  • 声明访问器方法
  • 调用方法
    • 无参方法的调用
      • 嵌套方法的调用
        • 测测你学到多少
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档