Java-接口练习

目的

模拟一个界面,设置字体大小和颜色

复杂方法

阅读界面, 显示文本

public class Read {
    private String text;
    private String color;
    private int size;

    public Read(String text){
        this.text = text;
    }

模拟进入设置页面

    public void goToSetting(){
        Setting setting = new Setting(this);

        setting.startSetting();
    }

创建一个Setting类

public class Setting {
    //记录我们为谁设置字体大小颜色,设置完之后将数据返回给谁
    Read delegate;

    public Setting(Read delegate){
    
        this.delegate = delegate;
    }

    public void startSetting(){
        System.out.println("开始设置");
        System.out.println("......");
        System.out.println("设置结束");

        delegate.change("黑色",18);
    }
}

再回到Read类,开始设置字体颜色和大小

public void goToSetting(){
    Setting setting = new Setting(this);

    setting.startSetting();
}
public void change(String color, int size){
        System.out.println("设置前的颜色:"+ this.color+"设置前的大小:"+this.size);

        this.color = color;
        this.size = size;

        System.out.println("设置后的颜色:"+ this.color+"设置后的大小:"+this.size);
    }

使用接口实现数据回调

定义一个接口,统一管理传递数据的方式,并且能保证每个使用Setting的类都必须实现这个方法

定义内部接口

//使用接口定义一套方法 强制使用者来实现这个方法
//能保证我需要传值的时候 就能找到这个方法
public interface FontSettingInterface{
    //自己规定的方法
    void change(String color, int size);
}

创建对象

  //使用多态
 FontSettingInterface obj;

 public Setting(FontSettingInterface obj){
    
    this.obj = obj;
}

传递参数/数据

public void startSetting(){
    System.out.println("开始设置");
    System.out.println(".......");
    System.out.println("设置完毕 即将返回结果");

    obj.change("黑色", 20);

心得体会

之前学习的时候有点水没有怎么认真听,但是最近课后有自己自学了一点,然后上课听的时候不会像之前一样大脑完全是放空状态。学习是个慢过程,虽然现在一些知识还是懵懵懂懂的,但是日积月累,总会有幡然醒悟的一天。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容