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);

心得体会

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

你可能感兴趣的:(Java-接口练习)