PTA Java程序設(shè)計(jì)
7-1 jmu-Java-03面向?qū)ο蠡A(chǔ)-01-構(gòu)造方法與toString
懶人一鍵copy
定義一個(gè)有關(guān)人的Person類,內(nèi)含屬性:
String name、int age、boolean gender、int id
所有的變量必須為私有(private)。
注意:屬性順序請嚴(yán)格按照上述順序依次出現(xiàn)。
分析:文章來源地址http://www.zghlxwxcb.cn/news/detail-736660.html
- 定義一個(gè)Person的類,并在類中包含
String name
、int age
、boolean gender
、int id
,并且定義為私有屬性(private
)
private String name;
private int age;
private boolean gender;
private int id;
1.編寫無參構(gòu)造函數(shù):
??打印"This is constructor"。
??將name,age,gender,id按照name,age,gender,id格式輸出
2.編寫有參構(gòu)造函數(shù)
??依次對name,age,gender賦值。
分析:
- 在IDEA中使用快捷鍵Alt+Insert快捷生成有參構(gòu)造器,在
Person
類中創(chuàng)建無參構(gòu)造器,并輸出格式
public Person() {
System.out.println("This is constructor");
System.out.println(name+","+age+","+gender+","+id);
}
public Person(String name, int age, boolean gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
3.覆蓋toString函數(shù):
按照格式:類名 [name=, age=, gender=, id=]輸出。建議使用Eclipse自動生成.
分析:
- 按照輸出格式為
Person [name=a, age=11, gender=false, id=0]
- 在IDEA中使用快捷鍵Alt+Insert快捷生成toString方法,并編寫輸出格式
- ps:快捷生成的話輸出會
name='a'
多一對單引號,需要在toString方法中刪除
@Override
public String toString() {
return "Person [" + "name=" + name +
", age=" + age +
", gender=" + gender +
", id=" + id +
']';
}
4.對每個(gè)屬性生成setter/getter方法
分析:
- 這里就使用IDEA的快捷生成來生成
set/get
方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
5.main方法中首先從屏幕讀取n,代表要創(chuàng)建的對象個(gè)數(shù)。
然后輸入n行name age gender
, 調(diào)用上面2編寫的有參構(gòu)造函數(shù)新建對象。
然后將剛才創(chuàng)建的所有對象逆序輸出。
接下來使用無參構(gòu)造函數(shù)新建一個(gè)Person對象,并直接打印該對象。文章來源:http://www.zghlxwxcb.cn/news/detail-736660.html
分析:
- 在main方法中使用
Scanner
輸入n,并且數(shù)組的長度為n (代表有幾個(gè)對象存入)- 遍歷數(shù)組,在遍歷的過程中創(chuàng)建對象,并將創(chuàng)建的對象逆序輸出 (使用for循環(huán)倒序輸出)
- 創(chuàng)建一個(gè)Person對象,直接打印該對象的
toString()
方法
Scanner sc = new Scanner(System.in);
int nextInt = sc.nextInt();
Person[] s = new Person[nextInt];
for (int i = 0; i < nextInt; i++) {
String a = sc.next();
int b = sc.nextInt();
boolean c=sc.nextBoolean();
s[i] = new Person(a,b,c);
//將對象賦值給數(shù)組s的索引為0
}
//i=3
//但是索引只有到2,故-1
for (int i = nextInt-1; i >=0; i--) {
System.out.println(s[i].toString());
//打印出數(shù)組s的索引為0的toString方法
}
Person person = new Person();
System.out.println(person.toString());
懶人一鍵copy
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int nextInt = sc.nextInt();
Person[] s = new Person[nextInt];
for (int i = 0; i < nextInt; i++) {
String a = sc.next();
int b = sc.nextInt();
boolean c=sc.nextBoolean();
s[i] = new Person(a,b,c);
}
for (int i = nextInt-1; i >=0; i--) {
System.out.println(s[i].toString());
}
Person person = new Person();
System.out.println(person.toString());
}
}
class Person{
private String name;
private int age;
private boolean gender;
private int id;
@Override
public String toString() {
return "Person [" + "name=" + name +
", age=" + age +
", gender=" + gender +
", id=" + id +
']';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Person() {
System.out.println("This is constructor");
System.out.println(name+","+age+","+gender+","+id);
}
public Person(String name, int age, boolean gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
}
到了這里,關(guān)于7-1 jmu-Java-03面向?qū)ο蠡A(chǔ)-01-構(gòu)造方法與toString的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!