接口定义:public interface 接口名称 {
}
接口可包含的组成部分:1.抽象方法
a) 定义:public abstract 返回值类型 方法名(参数类型 参数名);
b) 接口中抽象方法修饰符一定是public abstract(可省);
c) 只有方法头,没有方法体(大括号);
2.常量
3.静态方法
4.默认方法
5.私有方法(其他组成部分详细要点日后逐渐更新)
接口实现类:1.定义:public class 实现类名 implements 接口名{
//覆盖重写(Override)抽象方法
抽象方法抄过来,去掉abstract关键字,补全方法体;
}
2.使用:接口名称 引用名 = new 实现类名称();
引用名.抽象方法名(参数);
3.注意:a) 左边是接口类型,只能调用定义好的方法,不能调用实现类特有的方法;(称作:接口隔离)
b) 调用接口方法时,真正运行的是实现类方法体内容;(调用的时候看左边,运行的时候看右边)
//接口类 public interface Animal(){ public abstract void eat(); void sleep();//可缺省修饰符public abstract } //实现类 public class Cat implements Animal(){ public void eat(){ System.out.println("Cat eat fish!"); } public void sleep(){ System.out.println("Cat sleep!"); } //自定义实现类方法 public void catch(){ System.out.println("Cat catch!"); } } public static void main(String[] args){ Animal cat = new Cat(); cat.eat();//输出Cat eat fish! cat.sleep();//输出Cat sleep! cat.catch();//错误!!无法调用实现类特有的方法!! }
Lambda表达式:当前阶段使用前提,必须有“函数式接口”——有且仅有一个抽象方法的接口。
>标准格式:(形式参数)-> { 方法体 }
>简写格式:1.参数类型可省;
2.参数有且一个,小括号可省;
3.语句只有一个,大括号和return可省
public interface Calcu(){ int sum(int a, int b); } public class test { public static void main(String[] args){ method((int a, int b) -> { return a + b; });//传参方式调用Lambda Calcu param = (int a, int b) -> { return a + b; };//赋值方式调用Lambda method(param); } public static void method(Calcu cal){ int result = cal.sum(100, 200); System.out.println(result); } }
眼高手低,重在练习!!!
JAVA要点_4
最新推荐文章于 2024-05-16 10:23:10 发布