大数据第6天作业

1.使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为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 dbclick(){

}

public void keyUp(){

}

public void keyDown(){

}

}

class ButtonListener extends ButtonAdapter

{

public void click(){

System.out.println("i click");

}

}

class Button

{

private ButtonListener listener;

public void addListener(ButtonListener lsn){

this.listener=lsn;

}

public void clickb(){

listener.click();

}

}

class AdapterDemonew

{

public static void main(String [] args){

Button btn1=new Button();

ButtonListener blr=new ButtonListener();

btn1.addListener(blr);

btn1.click();

}

}

作业2

阐述什么是多态。

为什么函数可以覆盖,而属性不能覆盖?

答:多态就是多种形态,继承中,父类引用子类对象,father s=new son();

接口中,接口引用该接口的类所创建的对象。

因为属性是有数据的,是原来就有的,函数是构造出来的方法,不存储数据,所以可以覆盖。

时间: 2024-10-13 09:09:42

大数据第6天作业的相关文章

大数据第三天作业

1.定义一个函数,函数功能是动态提取int[]中元素的最大值. public class Main { /**  * 定义一个函数,函数功能是动态提取int[]中元素的最大值.  */ public static void main(String[] args) { //定义数组 int[] nums = new int[5]; //初始化数组 for(int i= 0;i<5;i++){ nums[i] = i; } int max = getMax(nums); System.out.pri

大数据Java基础第六天作业

第一题: interface ButtonListener{     public void click();     public void dbclick();     public void keyup();     public void keydown(); } abstract class ButtonAdapter implements ButtonListener{     public void dbclick(){         //...空实现     }     pub

大数据第七天作业

利用白富美接口案例,土豪征婚使用匿名内部类对象实现. interface Iwhite { public void white(); } interface Irich { public void rich(); } interface Ibeauti { public void beauti(); } interface WRB extends Iwhite,Irich,Ibeauti { } class WomenStar implements WRB { public void white

大数据第8天作业

5辆汽车过山洞,依次经过山洞.每辆车通过山洞花费10秒,使用多线程实现. class Cave { //private boolean deng=true; //public synchronized getDeng(){ // if(deng=true){ // } //} } class Car extends Thread { private String name; private Cave cave; public Car(){ System.out.println("car^^^^^

大数据第五天作业

1.文字阐述静态代码块的作用 答:静态代码块只在类加载的时候执行一次,可以使用它来初始化资源文件,尤其是那种只需一次加载资源文件 2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么? 答:构造代码块先于构造函数执行,与方法的声明位置无关.构造代码块可以实现代码的重用,也可以用其来初始化属性成员变量 3.类加载时,是否一定会执行静态代码块?如何手动控制类加载? 答:类加载时不一定加载静态代码块,使用forName加载类时,可以通过设置其第二个参数来进行

大数据第四天作业

1.将按位运算操作,尤其是左移和右移(有无符号)整理到自己的博客中. 重点说明清晰负数的运算过程. 答:java中对于字节的移位操作按方向分为左移和右移,其中对于右移动操作又分为有符号右移和无符号右移. 1.有符号右移:将二进制向右移动 如果原来符号位为0 则新符号位也用0 否则用1; 2.无符号右移:将二进制向右移动 不管原来的符号位是0还是1 一律用0 补位; 此外对于数值的移位操作,每向右移动一位表示除二,向左移动一位表示乘二. 2.byte数到十六进制字符串表现形式程序设计原理和实现方式

大数据第三次作业

from turtle import * def drawstart(x, y, angle, length): up() setpos((x, y)) down() right(angle) begin_fill() for i in range(5): forward(length) right(144) end_fill() bgcolor('red') color('yellow', 'yellow') drawstart(-200,60,0,100) drawstart(100,170

大数据第四次作业

(1) addr='http://news.gzcc.cn/html/2017/xiaoyuanxinwen_1027/8443.html'print(addr[-14:-5]) (2) addr1='https://docs.python.org/3/library/'addr2='turtle'addr3='.html'print(addr1+addr2+addr3) (3) for i in range(1,5): print('http://news.gzcc.cn/html/xiaoy

大数据-国家发展规划

发展形势 当前全球信息化发展面临的环境.条件和内涵正发生深刻变化.从国际看,世界经济在深度调整中曲折复苏.增长乏力,全球贸易持续低迷,劳动人口数量增长放缓,资源环境约束日益趋紧,局部地区地缘博弈更加激烈,全球性问题和挑战不断增加,人类社会对信息化发展的迫切需求达到前所未有的程度.同时,全球信息化进入全面渗透.跨界融合.加速创新.引领发展的新阶段.信息技术创新代际周期大幅缩短,创新活力.集聚效应和应用潜能裂变式释放,更快速度.更广范围.更深程度地引发新一轮科技革命和产业变革.物联网.云计算.大数据