![](/img/trans.png)
[英]How to refactor a large class with many methods that have single responsibility?
[英]How many methods does this class have?
我使用了:
System.out.println(Person.class.getDeclaredMethods().length);
在這里獲取此類的方法數量:
class Person {
private String name;
Person(String newName) {
name = newName;
}
public String getName() {
return name;
}
public void setName(String val) {
name = val;
}
}
我為此類計算了三種方法,但getDeclaredMethods().length
僅計算兩種方法。 我想念什么?
Person(String newName) {
name = newName;
}
這是類的構造方法,而不是方法。
要了解方法和構造函數之間的區別,請閱讀本文: http : //www.javaworld.com/article/2076204/core-java/understanding-constructors.html
該類聲明(按從上到下的順序):
一個字段: name
。 (您可以使用getDeclaredFields
獲得有關已聲明字段的信息,但我認為您不需要這樣做)。
一個構造函數: Person(String)
。 構造函數不是方法,而是構造函數。 如果要知道有多少個聲明的構造函數,請使用getDeclaredConstructors
。
兩種方法: getName
和setName
。 您已經知道如何獲取它們。
它具有更多的方法,因為它繼承了Object
的方法( toString
, hashCode
, equals
等),但是這些都是它聲明的方法 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.