使用接口进行如下程序设计

个人电脑(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包相关推荐

  1. java jar 可执行_java基础-可执行jar包

    1 简介 大家都知道java项目可以打包成一个可执行的jar包,当我们指定程序的入口main后,可以利用 java -jar YourApp.jar 命令运行可执行jar.那么它需要什么条件才能运行呢 ...

  2. java 数据库 异常类型_Java基础 -- 常见异常

    1.常见异常 Exception 类是 Throwable 类的子类.除了Exception类外,Throwable还有一个子类Error . 异常类有两个主要子类:IOException和Runti ...

  3. java lang runtimeexception什么意思_Java基础之异常

    1.异常结构 Java中异常的父类接口为Throwable,它的两个实现类为Error和Exception.根据Javac对异常的分类可以将异常划分为两类,如下所示: 不可检查异常:Error 和 R ...

  4. java 负数异常_java基础之异常

    一.Throw(抛出异常,让调用者处理) Throw(将异常抛给调用者) 在java中,提供了一个throw关键字,它用来抛出一个指定的异常对象.那么,抛出一个异常具体如何操作呢? 1. 创建一个异常 ...

  5. java 抛出异常的作用_Java 基础之异常抛出

    Java 基础之异常抛出 Java,基础,异常抛出 在 Java 里,除了对异常的捕获外,你还可以抛出异常,还可以创造异常.抛出异常的作用就是告诉你的调用者,程序出现了不正常的情况了,得不要期望的结果 ...

  6. java 异常 日志_java中的异常、断言、日志(一)

    1.Java异常处理i.异常的概念和Java里面的异常体系结构1)基本概念:程序中的异常,一般成为例外情况,可以理解为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在这样一个体系结构 ...

  7. java 异常 理解_java中的异常理解

    java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提 ...

  8. java 异常继承体系_1、异常概述和继承体系 2、原因及处理方式 3、运行时异常 4、重写异常处理 5、Throwable类常见方法 6、自定义异常...

    01异常的概述 * A: 异常的概述 * a:什么是异常 * Java代码在运行时期发生的问题就是异常. * b:异常类 * 在Java中,把异常信息封装成了一个类. * 当出现了问题时,就会创建异常 ...

  9. java最外层能捕获到异常吗_Java最外层异常的抓取要用Throwable

    3月以来,从来运行正常的link无故崩了好多次,现象:无异常日志,用jstack看主线程挂了进程还在,主线程最外层有catch异常,但是并没有打印日志,实在匪夷所思. 先是怀疑socket连接,通过系 ...

最新文章

  1. 【C#】登陆次数限制
  2. 《细胞》重磅!科学家培育全球首个人类自组织心脏类器官,可自主跳动能自我修复...
  3. python 计算机程序设计基础-零基础,没有编程和计算机基础,究竟该怎么自学python?...
  4. [原创].NET 分布式架构开发实战之一 故事起源
  5. Hadoop学习笔记03_Hive练习
  6. Codeforces Round #323 (Div. 2) C.GCD Table
  7. littlevgl 透明按钮_张家港3-10吨叉车日租价格透明2020
  8. python画三维图-Python+matplotlib绘制三维图形5个精选案例
  9. java 词云_Word Cloud (词云) - JavaScript-Go语言中文社区
  10. 《BI那点儿事》数据流转换——百分比抽样、行抽样
  11. 0到100之间的阶乘linux算法,零基础学算法-阶乘
  12. android 一种键盘不能调起的解决方法
  13. 非负数的和与个数c语言编程,C语言习题中,编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和...
  14. pthread_cond_wait和pthread_cond_signal
  15. 【一日一logo_day_24】Phoenix??
  16. css实现人走路效果,如何使用纯CSS实现一个人独自行走的动画效果(附源码)
  17. 五分钟教你屏蔽百度广告
  18. 剧本翻译之メンアットワーク!4 ~ハンター達よ永遠に~猎人们的永远(序章2)
  19. 计算机学什专业,计算机专业到底学什么?
  20. kali升级操作系统

热门文章

  1. 闲鱼如何利用端计算提升推荐场景的ctr
  2. 规范白盒生态 S³IP助力未来可预期服务网络
  3. 10分钟搭建完成人脸通行系统 百度『乘风』人脸智能化平台了解一下
  4. 学了阿里中台,却依然做不好系统? 聊聊阿里的项目管理
  5. 微服务精华问答:什么是微服务架构中的DRY?| 技术头条
  6. 有问有答 | 你真的理解微服务架构吗?
  7. python编写加密程序_用Python实现一个简单的加密程序
  8. java 1m_Java编程测试1M内存可用来缓存多少对象
  9. IntelliJ IDEA 2020.x 入门到爱不释手
  10. win10系统VMware Workstation与Device/Credential Guard不兼容怎么办