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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA_抽象类和接口

發(fā)布時間:2024/3/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA_抽象类和接口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JAVA_抽象類和接口
1.編寫程序,其中包含一個抽象類Person,兩個類:Chinese和American。
(1)抽象類Person中包含一個名為name的變量用于存儲姓名,使用構(gòu)造方法對name進(jìn)行賦值。
(2)抽象類Person包含一個名為sayHello的公共抽象方法聲明,在控制臺顯示問好信息。
(3)Chinese和American這兩個類繼承了Person抽象類。
(4)Chinese和American這兩個類在sayHello()方法中分別顯示“您好,我叫。”和“Hello,my name is ”。
(5)在測試程序PersonTest的main()方法中使用Person定義一個長度為2的一維數(shù)組persons,依次存入Chinese(“丁丁”)、American(“Alice”)這兩個對象,遍歷數(shù)組persons,調(diào)用sayHello方法顯示問好信息。
要求:所有類都存放在一個名為lab0701的包中。

2.現(xiàn)有以下接口的聲明:

public interface CalcArea {double getArea(); }

(1)定義圓類Circle并實現(xiàn)接口CalcArea,圓類的主要成員變量為半徑radius,構(gòu)造方法的參數(shù)用于初始化半徑。
(2)定義矩形類Rectangle并實現(xiàn)接口CalcArea,矩形類的主要成員變量包括長length和寬width,構(gòu)造方法的參數(shù)用于初始化長和寬。
(3)現(xiàn)有如下類Tester,其功能是求存儲在一個數(shù)組中的多個圖形的面積之和,要求補全其中缺少的代碼。

public class Tester {static **CalcArea[]** shapes = { new Circle(1.0), new Rectangle(3.0, 4.0), new Circle(8.0) };public static void main(String[] args) {System.out.println("total area = " + sumArea(shapes));}public static double sumArea( **CalcArea[]** shapes) {double sum = 0;for(CalcArea c:shapes) {sum=sum+c.getArea();}return sum; } }

要求:所有類和接口都存放在一個名為lab0702的包中。

3.學(xué)校中有教師和學(xué)生兩類人,而在職研究生既是教師又是學(xué)生。
(1)設(shè)計兩個接口IStudent和ITeacher。其中,IStudent接口包含setFee()和getFee()方法,分別用于設(shè)置和獲取學(xué)生的學(xué)費;ITeacher接口包含setPay()和getPay()方法,分別用于設(shè)置和獲取教師的工資。
(2)定義一個研究生類Graduate,實現(xiàn)IStudent接口和ITeacher接口。它的私有成員變量有name(姓名,只讀),fee(每年的學(xué)費),pay(每月的工資)。構(gòu)造方法用于初始化各個成員變量。定義成員變量的getter和setter方法。
(3)在測試程序GraduateTest中使用Graduate類創(chuàng)建一研究生對象(姓名:李想;學(xué)費:2000;工資:9000),統(tǒng)計他的年收入,如果年收入減去一年的學(xué)費不足2000元,則輸出“需要貸款”信息,否則輸出“無需貸款”信息。
要求:所有類都存放在一個名為lab0703的包中。

代碼:0701

package lab0701;public class American extends Person{American(String name) {super(name);// TODO Auto-generated constructor stub}void sayHello() {System.out.println("Hello,My name is"+name);}}package lab0701;class Chinese extends Person{Chinese(String name) {super(name);// TODO Auto-generated constructor stub}void sayHello() {System.out.println("您好,我叫"+name);} }package lab0701;abstract class Person {String name ;Person(String name ){this.name=name;}void sayHello() { // System.out.println("你好");}}package lab0701;public class PersonTest {public static void main(String[] args) {// TODO Auto-generated method stubPerson[] persons=new Person[] {new Chinese("叮叮"), new American(" Alice")};for(Person p:persons) {p.sayHello();}}}

代碼:0702

package lab0702;public interface CalcArea {double getArea(); }package lab0702;public class Circle implements CalcArea{double radius;Circle(double radius){this.radius=radius;}@Overridepublic double getArea() {// TODO Auto-generated method stubreturn Math.PI*radius*radius;}} package lab0702;public class Rectangle implements CalcArea{double length;double width;Rectangle(double length,double width){this.length=length;this.width=width;}@Overridepublic double getArea() {// TODO Auto-generated method stubreturn length*width;}} package lab0702;public class Tester {static CalcArea[] shapes = { new Circle(1.0), new Rectangle(3.0, 4.0), new Circle(8.0) };public static void main(String[] args) {System.out.println("total area = " + sumArea(shapes));}public static double sumArea( CalcArea[] shapes) {double sum = 0;for(CalcArea c:shapes) {sum=sum+c.getArea();}return sum; } }

代碼:0703

package lab0703;public class Graduate implements IStudent,ITeacher{private String name;private double fee;private double pay;public Graduate(String name,double fee,double pay) {this.setName(name);this.fee=fee;this.pay=pay;}public double getFee() {return fee;}public void setFee(double fee) {this.fee = fee;}public double getPay() {return pay;}public void setPay(double pay) {this.pay = pay;}public String getName() {return name;}public void setName(String name) {this.name = name;} }package lab0703;

//(3)在測試程序GraduateTest中使用Graduate
//類創(chuàng)建一研究生對象(姓名:李想;學(xué)費:2000;工資:9000),
//統(tǒng)計他的年收入,如果年收入減去一年的學(xué)費不足2000元,
//則輸出“需要貸款”信息,否則輸出“無需貸款”信息。

public class GraduateTest {public static void main(String[] args) {Graduate g = new Graduate("李想",2000,9000);if(g.getPay()>(g.getFee()+2000)) {System.out.println("不需要貸款");}else {System.out.println("需要貸款");}} } package lab0703;

// 3.中有教師和學(xué)生兩類人,而在職研究生既是教師又是學(xué)生。
// (1)設(shè)計兩個接口IStudent和ITeacher。其中,IStudent接
// 口包含setFee()和getFee()方法,分別用于設(shè)置和獲取學(xué)生的學(xué)費;
// ITeacher接口包含setPay()和getPay()方法,分別用于設(shè)置和獲取教師的工資。

public interface IStudent {public static void setFee() {}public static void getFee() {} } package lab0703;public interface ITeacher {public static void setPay() { }public static void getPay(){} }

總結(jié)

以上是生活随笔為你收集整理的JAVA_抽象类和接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。