可運(yùn)行的:
十多年的巴南網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整巴南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“巴南網(wǎng)站設(shè)計(jì)”,“巴南網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
import java.awt.*;
import java.awt.event.*;
public class BackJFrame extends Frame{
public BackJFrame(){
super("臺(tái)球");
setSize(300,300);
setBackground(Color.cyan); //背景
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing (WindowEvent e)
{System.exit(0);}
} );
}
public static void main(String args[]){
new BackJFrame();
}
}
措施一:改寫類的實(shí)例方法
通過(guò)類繼承實(shí)現(xiàn)代碼重用不是精確的代碼重用技術(shù),因此它并不是最理想的代碼重用機(jī)制。換句話說(shuō),如果不繼承整個(gè)類的所有方法和數(shù)據(jù)成員,我們無(wú)法重用該類里面的單個(gè)方法。繼承總是帶來(lái)一些多余的方法和數(shù)據(jù)成員,它們總是使得重用類里面某個(gè)方法的代碼復(fù)雜化。另外,派生類對(duì)父類的依賴關(guān)系也使得代碼進(jìn)一步復(fù)雜化:對(duì)父類的改動(dòng)可能影響子類;修改父類或者子類中的任意一個(gè)類時(shí),我們很難記得哪一個(gè)方法被子類覆蓋、哪一個(gè)方法沒(méi)有被子類覆蓋;最后,子類中的覆蓋方法是否要調(diào)用父類中的對(duì)應(yīng)方法有時(shí)并不顯而易見。
任何方法,只要它執(zhí)行的是某個(gè)單一概念的任務(wù),就其本身而言,它就應(yīng)該是首選的可重用代碼。為了重用這種代碼,我們必須回歸到面向過(guò)程的編程模式,把類的實(shí)例方法移出成為全局性的過(guò)程。為了提高這種過(guò)程的可重用性,過(guò)程代碼應(yīng)該象靜態(tài)工具方法一樣編寫:它只能使用自己的輸入?yún)?shù),只能調(diào)用其他全局性的過(guò)程,不能使用任何非局部的變量。這種對(duì)外部依賴關(guān)系的限制簡(jiǎn)化了過(guò)程的應(yīng)用,使得過(guò)程能夠方便地用于任何地方。當(dāng)然,由于這種組織方式總是使得代碼具有更清晰的結(jié)構(gòu),即使是不考慮重用性的代碼也同樣能夠從中獲益。
題目有關(guān)回答如下,供參考:
4、this:當(dāng)前對(duì)象的引用
super:當(dāng)前對(duì)象的超(父)類對(duì)象的一個(gè)引用
5、繼承是面向?qū)ο笞铒@著的一個(gè)特性。
繼承的意義:繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。
定義繼承:使用關(guān)鍵字 extends 來(lái)實(shí)現(xiàn)繼承
6、多態(tài)(Polymorphism)按字面的意思就是“多種狀態(tài)”,也是面向?qū)ο蟮囊粋€(gè)特性。
允許將子類類型的引用賦值給父類類型的引用。
7、代碼如下:
/**
*?父類(圖形)
*?
*?@author?qd
*
*/
abstract?class?Figure?{
double?area;
}
/**
*?求面積的接口
*?
*?@author?qd
*
*/
interface?Area?{
public?void?getArea();
}
/**
*?三角形
*?
*?@author?qd
*
*/
class?Triangle?extends?Figure?implements?Area?{
//?底
double?bottom;
//?高
double?high;
public?Triangle(double?bottom,?double?high)?{
super();
this.bottom?=?bottom;
this.high?=?high;
}
@Override
public?void?getArea()?{
area?=?bottom?*?high?*?0.5;
System.out.println("三角形面積是:"?+?area);
}
}
/**
*?正方形
*?
*?@author?qd
*
*/
class?Square?extends?Figure?implements?Area?{
//?邊長(zhǎng)
double?length;
public?Square(double?length)?{
super();
this.length?=?length;
}
@Override
public?void?getArea()?{
area?=?length?*?length;
System.out.println("正方形面積是:"?+?area);
}
}
/**
*?圓
*?
*?@author?qd
*
*/
class?Circular?extends?Figure?implements?Area?{
//?半徑
double?radius;
public?Circular(double?radius)?{
super();
this.radius?=?radius;
}
@Override
public?void?getArea()?{
area?=?Math.PI?*?radius?*?radius;
System.out.println("圓面積是:"?+?area);
}
}
public?class?Test?{
public?static?void?main(String[]?args)?{
//?三角形對(duì)象
Area?triangle?=?new?Triangle(3,?4);
triangle.getArea();
//?正方形對(duì)象
Area?square?=?new?Square(4);
square.getArea();
//?圓對(duì)象
Area?circular?=?new?Circular(2);
circular.getArea();
}
}
8、代碼如下:
/**
*?球類
*?
*?@author?qd
*
*/
class?Ball?{
//?私有成員變量半徑
private?double?r;
public?double?getR()?{
return?r;
}
public?void?setR(double?r)?{
this.r?=?r;
}
}
/**
*?臺(tái)球
*?
*?@author?qd
*
*/
class?Billiards?extends?Ball?{
//?私有成員變量顏色
private?String?color;
public?void?setColor(String?color)?{
this.color?=?color;
}
//?輸出信息
public?void?printMess(Billiards?billiards,Ball?ball)?{
System.out.println("臺(tái)球的顏色是:"?+?billiards.color?+?"???臺(tái)球的半徑是:"?+?ball.getR());
}
}
/**
*?公有測(cè)試類
*?
*?@author?qd
*
*/
public?class?TestBall?{
public?static?void?main(String[]?args)?{
Ball?ball?=?new?Ball();
ball.setR(5);
Billiards?billiards?=?new?Billiards();
billiards.setColor("白色");
billiards.printMess(billiards,ball);
}
}
7題和8題測(cè)試如下:
第一個(gè):
public?class?Yaojing?{
protected?String?name;
protected?int?age;
protected?String?gender;
public?void?showBasicInfo()?{
System.out.println(toString());
}
public?void?eatTangSeng()?{
System.out.println("吃飽了");
}
@Override
public?String?toString()?{
return?"Yaojing?[name="?+?name?+?",?age="?+?age?+?",?gender="?+?gender?+?"]";
}
}
第二個(gè)類
public?class?Zhizhujing?extends?Yaojing?{
public?void?buildNet(){
System.out.println("蜘蛛在織網(wǎng)");
}
}
第三個(gè)類
public?class?Baigujing?extends?Yaojing?{
public?void?beBeauty(){
System.out.println("白骨精");
}
}
class Point{
private int x, y;
//get / set
public Point(){
}
public Point(int x, int y){
this.x=x; this.y=y;
}
}
繼承就是再extends Point、并添加相應(yīng)的方法、屬性
在 java中,用一個(gè)類同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口代碼如下:
class?Pigeon??extends?Bird?implements??Flyanimal?
{ ?? public?void?fly()
{
System.out.println("pigeon??can?fly");
}
public?void?egg()
{
System.out.println("pigeon??can?lay??eggs?");
}
}
類繼承:繼承是面向?qū)ο笞铒@著的一個(gè)特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。Java繼承是使用已存在的類的定義作為基礎(chǔ)建立新類的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。
接口實(shí)現(xiàn):接口實(shí)現(xiàn)在java中是一種特殊繼承方式,接口在定義后,就可以在類中實(shí)現(xiàn)該接口,在類中實(shí)現(xiàn)接口可以使用關(guān)鍵字implement。
創(chuàng)建父類:
class?Bird?{
int?legnum?=?2;?????void?egg()?{????};}
定義接口:
interface?Flyanimal
{ ?
void?fly();
}
當(dāng)前名稱:Java繼承派生代碼 java實(shí)驗(yàn)三類的繼承與派生
分享路徑:http://aaarwkj.com/article14/doodide.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、網(wǎng)站排名、全網(wǎng)營(yíng)銷推廣、外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)