Java动物类enjoy方法打印,面向对象编程题汇总
在授課面向?qū)ο筮@一章節(jié)的時候,發(fā)現(xiàn)找一些比較貼近的編程題還是比較難的,從網(wǎng)上整理了一下,希望對需要的朋友有幫助。很多是從網(wǎng)上找的,如果侵犯版權(quán)請聯(lián)系我!
一、類和對象
1.定義一個類Demo,其中定義一個求兩個數(shù)據(jù)和的方法,定義一個測試了Test,進(jìn)行測試。
2.定義一個長方形類,定義 求周長和面積的方法,然后定義一個測試了Test2,進(jìn)行測試。
3.定義一個員工類,自己分析出幾個成員,然后給出成員變量,構(gòu)造方法, getXxx()/setXxx()方法,以及一個顯示所有成員信息的方法。并測試。
4.定義一個類MyMath,提供基本的加減乘除功能,然后進(jìn)行測試。
5.定義一類圓,求圓的周長和面積
二、繼承
按要求編寫一個Java應(yīng)用程序:
(1)編寫一個矩形類Rect,包含:
矩形的寬width;矩形的高h(yuǎn)eight。
兩個構(gòu)造方法:
1.一個帶有兩個參數(shù)的構(gòu)造方法,用于將width和height屬性初化;
2.一個不帶參數(shù)的構(gòu)造方法,將矩形初始化為寬和高都為10。
兩個方法:
求矩形面積的方法area()
求矩形周長的方法perimeter()
(2)通過繼承Rect類編寫一個具有確定位置的矩形類PlainRect,其確定位置用
矩形的左上角坐標(biāo)來標(biāo)識,包含:
添加兩個屬性:矩形左上角坐標(biāo)startX和startY。
兩個構(gòu)造方法:
帶4個參數(shù)的構(gòu)造方法,用于對startX、startY、width和height屬性初始化;
不帶參數(shù)的構(gòu)造方法,將矩形初始化為左上角坐標(biāo)、長和寬都為0的矩形;
添加一個方法:
判斷某個點是否在矩形內(nèi)部的方法isInside(double x,double y)。如在矩形內(nèi),返回true, 否則,返回false。
提示:點在矩形類是指滿足條件:
x>=startX&&x<=(startX+width)&&y=(startY-height)
(3)編寫PlainRect類的測試程序
創(chuàng)建一個左上角坐標(biāo)為(10,10),長為20,寬為10的矩形對象;
計算并打印輸出矩形的面積和周長;
判斷點(25.5,13)是否在矩形內(nèi),并打印輸出相關(guān)信息。
三、多態(tài)
public class DTTest {
public static void main(String[] args) {
Animal am = new Cat();//向上轉(zhuǎn)型
am.eat();//貓吃飯
am.sleep();//動物在睡覺
am.run();//動物在奔跑
System.out.println(am.num);//10
System.out.println(am.age);//20
//am.catchMouse();//報錯,子類中獨有的方法
// System.out.println(am.name);//報錯,子類中獨有的屬性
Cat ct = (Cat)am;//向下轉(zhuǎn)型
ct.eat();//貓吃飯
ct.sleep();//貓在睡覺
ct.run();//動物在奔跑
ct.catchMouse();//貓在抓老鼠
}
}
class Animal {
int num = 10;
static int age = 20;
public void eat() {
System.out.println("動物吃飯");
}
public static void sleep() {
System.out.println("動物在睡覺");
}
public void run(){
System.out.println("動物在奔跑");
}
}
class Cat extends Animal {
int num = 80;
static int age = 90;
String name = "tomCat";
public void eat() {
System.out.println("貓吃飯");
}
public static void sleep() {
System.out.println("貓在睡覺");
}
public void catchMouse() {
System.out.println("貓在抓老鼠");
}
}
四、抽象類和接口
1.?定義一個動物類,里面有一個方法voice(),
定義一個類Cat,實現(xiàn)voice方法
然后增加一種新的動物類型:Pig(豬),實現(xiàn)voice()方法。
定義一個Dog類,實現(xiàn)voice方法
定義一個Store(寵物店)類的getInstance方法:
如果傳入的參數(shù)是字符串dog,則返回一個Dog對象;
如果傳入pig,則返回一個Pig對象;否則,返回一個Cat對象。
2.
1)定義一個抽象類Animal,其中包括屬性name,相關(guān)構(gòu)造方法,抽象方法enjoy()表示動物高興時動作。
2)定義Cat類繼承于Animal類,其中包括屬性eyesColor,相關(guān)構(gòu)造方法,同時具體化父類中的抽象方法。
3)定義Dog類繼承于Animal類,其中包括屬性furColor,相關(guān)構(gòu)造方法,同時具體化父類中的抽象方法。
4)定義Lady類,其中包括屬性name,以及Animal 類型的屬性pet表示女士所養(yǎng)的寵物,定義構(gòu)造方法,
生成女士對象時初始化姓名和她所養(yǎng)的寵物。
定義一個方法:myPetEnjoy表示此女士的寵物在高興時的動作。提示:對于此類的定義中需要使用到多態(tài)性。
5)定義測試類。
創(chuàng)建一個張女士,養(yǎng)了一只貓,讓這只貓笑一笑
創(chuàng)建一個王女士,養(yǎng)了一只狗,讓這只狗叫一叫
3.
按如下要求編寫Java程序:
(1)編寫接口InterfaceA,接口中含有方法void printCapitalLetter()。
(2)編寫接口InterfaceB,接口中含有方法void printLowercaseLetter()。
(3)編寫非抽象類Print,該類實現(xiàn)了接口InterfaceA和InterfaceB。
要求printCapitalLetter()方法實現(xiàn)輸出大寫英文字母表的功能,printLowercaseLetter()方法實現(xiàn)輸出小寫英文字母表的功能。
(4)再寫一個主類Test,在main方法中創(chuàng)建Print的對象并賦值給InterfaceA的變量a,由變量a調(diào)用printCapitalLetter方法,
然后再創(chuàng)建Print的對象并將該對象賦值給InterfaceB的變量b,由變量b調(diào)用printLowercaseLetter方法
4.
(1)定義接口A,里面包含值為3.14的常量PI和抽象方法double area()。
(2)定義接口B,里面包含抽象方法void setColor(String c)。
(3)定義接口C,該接口繼承了接口A和B,里面包含抽象方法void volume()。
(4)定義圓柱體類Cylinder實現(xiàn)接口C,該類中包含三個成員變量:底圓半徑radius、圓柱體的高h(yuǎn)eight、顏色color。
(5)創(chuàng)建主類來測試類Cylinder。
5.
(*)按如下要求編寫Java程序:
(1)編寫一個接口:OneToN,只含有一個方法int dispose(int n)。
(2)編寫一個非抽象類Sum來實現(xiàn)接口OneToN,實現(xiàn)int dispose (int n)接口方法時,要求計算1 + 2 + … + n。
(3)編寫另一個非抽象類Pro來實現(xiàn)接口OneToN,實現(xiàn)int dispose (int n)接口方法時,要求計算1 * 2 * … * n。
(4)編寫測試類Test,在main方法中使用接口回調(diào)技術(shù)來測試實現(xiàn)接口的類。
如需獲取答案,請在文章下留言,或私信聯(lián)系我!!
(答案已發(fā)布,就在后面的文章里)
如果大家有其他疑問,可在文章下留言,如果覺得文章對自己的學(xué)習(xí)有幫助,請關(guān)注我的博客,后面會有更多的文章發(fā)布。也可以添加qq群:767375013(請備注CSDN)。里邊有更多的文檔視頻資料,及線上免費公開課。希望和大家一起探討。另外想學(xué)java的同學(xué)也可以下載我的教學(xué)視頻,免費學(xué)習(xí):https://www.bilibili.com/video/av37929261/
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的Java动物类enjoy方法打印,面向对象编程题汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php-ml案例,AppML 案例原型
- 下一篇: server多笔记录拼接字符串 sql_