日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

7-5 jmu-Java-03面向对象基础-05-覆盖 (3 分)

發布時間:2024/8/5 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7-5 jmu-Java-03面向对象基础-05-覆盖 (3 分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java每個對象都繼承自Object,都有equals、toString等方法。
現在需要定義PersonOverride類并覆蓋其toString與equals方法。

###1. 新建PersonOverride類

a. 屬性:String name、int age、boolean gender,所有的變量必須為私有(private)。

b. 有參構造函數,參數為name, age, gender

c. 無參構造函數,使用this(name, age,gender)調用有參構造函數。參數值分別為"default",1,true

d.toString()方法返回格式為:name-age-gender

e. equals方法需比較name、age、gender,這三者內容都相同,才返回true.

###2. main方法 2.1 輸入n1,使用無參構造函數創建n1個對象,放入數組persons1。
2.2 輸入n2,然后指定name age gender。每創建一個對象都使用equals方法比較該對象是否已經在數組中存在,如果不存在,才將該對象放入數組persons2。
2.3 輸出persons1數組中的所有對象
2.4 輸出persons2數組中的所有對象
2.5 輸出persons2中實際包含的對象的數量
2.5 使用System.out.println(Arrays.toString(PersonOverride.class.getConstructors()));輸出PersonOverride的所有構造函數。

提示:使用ArrayList代替數組大幅復簡化代碼,請嘗試重構你的代碼。

輸入樣例:

1 3 zhang 10 true zhang 10 true zhang 10 false

輸出樣例:

default-1-true zhang-10-true zhang-10-false 2 [public PersonOverride(), public PersonOverride(java.lang.String,int,boolean)] import java.util.ArrayList; import java.util.Arrays; import java.util.Objects; import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n1= sc.nextInt();boolean f=true;sc.nextLine();ArrayList<PersonOverride> ap=new ArrayList<PersonOverride>();for (int i=0;i<n1;i++){ap.add(new PersonOverride());}int n2= sc.nextInt();sc.nextLine();for (int i=0;i<n2;i++){f=true;PersonOverride a=new PersonOverride(sc.next(),sc.nextInt(), sc.nextBoolean());sc.nextLine();for (PersonOverride aa:ap) {if (aa.equals(a)){f=false;break;}}if (f)ap.add(a);}for(PersonOverride a:ap){System.out.println(a.toString().replace("[","").replace("]",""));}System.out.println(ap.size()-n1);System.out.println(Arrays.toString(PersonOverride.class.getConstructors()));}}class PersonOverride{private String name;private int age;private boolean gender;public PersonOverride() {this("default",1,true);}public PersonOverride(String name, int age, boolean gender) {this.name = name;this.age = age;this.gender = gender;}@Overridepublic String toString() {return name + "-" + age + "-" + gender;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;PersonOverride that = (PersonOverride) o;return age == that.age &&gender == that.gender &&name.equals(that.name);}@Overridepublic int hashCode() {return Objects.hash(name, age, gender);} }

總結

以上是生活随笔為你收集整理的7-5 jmu-Java-03面向对象基础-05-覆盖 (3 分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。