1.自定义接口使用例子

自定义的接口可以直接写在类中

然后在类中写一个静态方法(静态方法的话,在activity中可以直接调用,不用实例化),以接口为参数,调用接口中的方法

public class myClass {


    //自定义接口
    public interface MyInterface{
        void sayName(int requestCode);
    }

    //在这个类中写一个静态方法 ,以接口为参数,调用接口中的方法
    public  static void getData(int requestCode,MyInterface myInterface){
        myInterface.sayName(requestCode);
    }
}

在activity中调用接口:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        myClass.getData(1,myInterface);
    }

    private myClass.MyInterface myInterface = new myClass.MyInterface() {
        @Override
        public void sayName(int requestCode) {
            switch (requestCode){
                case 1:

                    break;
                case 2:

                    break;
            }
        }
    };
}

关于静态方法和非静态方法的区别:

①静态成员属于类所有,非静态成员属于类的实例所有。

  ②每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;

  非静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域。 

### 创建和使用自定义函数 #### 自定义函数的概念 自定义函数是由开发者自行编写的函数,用于实现特定的功能需求。这些函数可以根据不同的编程环境和语言来定制化开发。以下是几种常见场景下的自定义函数示例及其用法。 --- #### Flink Table API 和 SQL 中的自定义函数 在 Apache Flink 的 Table API 和 SQL 中,可以通过 Java 或 Scala 编写自定义函数,并将其集成到查询逻辑中。以下是一个简单的 POJO 类型作为输入参数的表值函数示例: ```java // 定义一个POJO类 public class MyPojo { public String name; public int value; public MyPojo(String name, int value) { this.name = name; this.value = value; } } // 表值函数实现 @FunctionHint(output = @DataTypeHint("ROW<name STRING, value INT>")) public class MyTableFunction extends TableFunction<MyPojo> { public void eval(int factor) { collect(new MyPojo("A", factor * 1)); collect(new MyPojo("B", factor * 2)); } } ``` 通过上述代码,`MyTableFunction` 是一个接受整数并返回多个 `MyPojo` 实例的表值函数[^1]。可以在 SQL 查询中调用它如下所示: ```sql SELECT t.* FROM ( SELECT my_table_function(10) AS (t) ) WHERE t.value > 15; ``` 此查询会生成一系列基于输入因子的结果集,并筛选出符合条件的数据项。 --- #### PHP 用户自定义函数 PHP 支持用户定义自己的函数以便于重用代码片段或封装复杂操作。下面提供了一个基本的例子演示如何声明以及调用这样的函数: ```php <?php // 声明一个计算两个数字之和的函数 function addNumbers($num1, $num2) { return $num1 + $num2; } // 调用该函数并将结果赋给变量$result $result = addNumbers(5, 7); echo "The sum is: " . $result; // 输出"The sum is: 12" ?> ``` 这里展示了最基础的形式——指定名称、形参列表还有主体部分;之后就可以像内置命令一样随时重复利用这个新建立起来的方法了[^2]。 --- #### PostgreSQL 中创建自定义函数 PostgreSQL 提供强大的支持让用户能够轻松构建复杂的业务逻辑处理流程。比如我们可以这样去新建一个存储过程或者常规意义上的标量/聚合类型的UDF(user-defined function): ```sql -- 创建一个新的SQL函数叫做multiply_numbers接收两个integer类型参数然后相乘再返回结果 CREATE OR REPLACE FUNCTION multiply_numbers(a integer, b integer) RETURNS integer AS $$ BEGIN RETURN a*b ; END; $$ LANGUAGE plpgsql VOLATILE COST 100; -- 使用刚才创建好的函数来进行实际运算测试看看效果怎么样吧? SELECT multiply_numbers(3 ,4); -- 应该得到12作为最终答案哦~ ``` 这段脚本首先定义了一种新的行为模式即把传入数值做简单算术运算后再反馈回去,接着验证其有效性[^3]。 --- ### 总结 不同平台和技术栈下都有各自特色的机制允许程序员扩展核心库之外的能力范围。无论是大数据流式分析框架还是Web后端服务亦或是关系数据库管理系统都提供了灵活多样的接口使用者自由发挥创意解决问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值