java7 异常继承_Java基础7-异常;jar包
使用接口進行如下程序設計
個人電腦(PC)具有PCI插槽,可以插入PCI卡。顯卡、聲卡、語音卡都可以作為PCI卡插入PCI插槽中
PC,PCI,slot,VideoCard,SoundCard, VoiceCard
interface PCI{
public void pci();
}
class VideoCard implements PCI{
public void pci(){
System.out.println("This is a videoCard");
}
}
class SoundCard implements PCI{
public void pci(){
System.out.println("This is a soundCard");
}
class VoiceCard implements PCI{
public void pci(){
System.out.println("This is a voiceCard");
}
class PC{
public void slot(PCI pci){
pci.pci();
}
}
class PCIDemo{
public static void main(String[] args){
PC pc = new PC();
pc.slot(new VideoCard());
pc.slot(new SoundCard());
pc.slot(new VoiceCard());
}
}
高富帥
Height
Rich
Handsome
Girl boyFriend(HRH h)
用匿名內部類實現
interface Height{
public void high();
}
interface Rich{
public void rich();
}
interface Handsome{
public void handsome();
}
interface HRH extends Height,Rich,Handsome{
}
class Girl{
public void boyFriend(HRH h){
h.high();
h.rich();
h.handsome();
}
}
class NoNameDemo{
public static void main(String[] args){
Girl girl = new Girl();
girl.boyFriend(new HRH(){
public void high(){
System.out.println("很高");
}
public void handsome(){
System.out.println(“很帥”);
}
public void rich(){
System.out.println(“很有錢”);
}
});
}
}
使用適配器模式實現窗口的事件處理程序
窗口可以響應最大化事件、最小化事件、大小改變事件、恢復事件、移動事件、關閉事件
通過適配器對大小改變事件、移動事件和關閉進行默認處理,窗口只關心最大化和最小化事件即可。
Window
WindowListener{max min resize restore move close}
interface WindowListener{
public void max();
public void min();
public void resize();
public void restore();
public void move();
public void close();
}
abstract class WindowListenerAdapter implements WindowListener{
public void resize(){
}
public void restore(){
}
public void move(){
}
public void close(){
}
}
class Window{
WindowListener listener;
public void setListener(WindowListener listener){
this.listener = listener;
}
public void max(){
listener.max();
}
public void min(){
listener.min();
}
}
class AdapterDemo(){
public static void main(String[] args){
Window window = new Window();
window.setListener(new WindowListenerAdapter(){
public void max(){
System.out.println("窗口最大化");
}
public void max(){
System.out.println("窗口最小化");
}
});
window.max();
window.min();
}
}
使用抽象類和接口實現適配器模式設計。涉及的類和接口分別為ButtonListener(接口),
其中含有click() / dbclick() / keyUp() / keyDown()等方法。
ButtonAdapter(按鈕適配器類),適配器中對非click()方法進行默認實現。
Button類中添加addListener(ButtonListener l)方法。
interface ButtonListener{
public void click();
public void dbclick();
public void keyUp();
public void keyDown();
}
abstract class ButtonAdapter implements ButtonListener {
public void keyUp(){
}
public void keyDown(){
}
}
class Button{
private ButtonListener l;
public void addListener(ButtonListener l){
this.l = l;
}
public void click(){
l.click();
}
public void dbclick(){
l.dbclick();
}
}
class AdapterDemo(){
public static void main(String[] args){
Button button = new Button();
Button.addListener(new ButtonAdapter(){
public void click(){
System.out.println("單擊了按鈕");
}
public void dbclick(){
System.out.println("雙擊了按鈕");
}
});
button.click();
button.dbclick();
}
}
闡述什么是多態。
為什么函數可以覆蓋,而屬性不能覆蓋?
答:對象的多種狀態,對繼承來說,用父類引用子類的對象;對接口來說,用接口引用實現類的對象。根據javabean原則,公有方法可以被繼承,因此可以被子類覆蓋,而屬性是私有財產,不能被子類覆蓋。
總結
以上是生活随笔為你收集整理的java7 异常继承_Java基础7-异常;jar包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker 容器安装conposer_
- 下一篇: java处理请求的流程_Java Spr